sine_axiom_selection_spec.rb revision d1c88b94cae4567bdbd23fc952268a0217e940f7
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenrequire 'spec_helper'
16f816d3f3c32ae3351834253f52ddd0212bcbf3Timo Sirainen let(:sine_axiom_selection) { create :sine_axiom_selection }
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen %i(goal ontology finished lock_key mark_as_finished!
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen proof_attempt_configurations axioms).each do |method|
945631faab2bf1aed8d95a1fd0c317a9ce153725Timo Sirainen let(:sine_axiom_selection) { create :sine_axiom_selection }
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen let(:ontology_fixture_file) { %w(prove/Subclass casl) }
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen let(:ontology_filepath) { ontology_fixture_file.join('.') }
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen let(:parent_ontology) { parent_ontology_version.ontology }
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen parent_ontology.children.where(name: 'SubclassToleranceOnePointFive').first
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen let(:proof_attempt) { create :proof_attempt, theorem: theorem }
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen let(:sine_axiom_selection) { create :sine_axiom_selection }
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen pac = proof_attempt.proof_attempt_configuration
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen subject.axiom_selection.proof_attempt_configurations = [pac]
1cad0dd34667548ba39f794ddeb9fc486cf4c666Timo Sirainen expect(subject.axioms.map(&:name)).to match_array(['transitivity'])
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen to match_array(['guiness < beer', 'not stone < liquid',
fa5957ffc9b676bfd649fa9953e63e72ee4ebeb4Timo Sirainen to match_array(['beer < beverage', 'beverage < liquid',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen context 'commonness threshold with depth limit 0' do
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainen expect(subject.axioms.map(&:name)).to match_array([])
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen to match_array(['guiness < beer', 'not stone < liquid',
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen to match_array(['beer < beverage', 'beverage < liquid',
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainen expect(subject.axioms.map(&:name)).to match_array([])
9bc6e10d9c6d6ffb4a2ed49a3b3d2a180f2a87a3Timo Sirainen expect(subject.axioms.map(&:name)).to match_array(['transitivity'])
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainen expect(subject.axioms.map(&:name)).to match_array(['transitivity'])
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen context 'depth limit with higher tolerance' do
abfcd9f73b9ad1eeef4fe6e9940383defabf68c3Timo Sirainen expect(subject.axioms.map(&:name)).to match_array([])
1b3bb8d39686ed24730cbc31cc9a33dc62c8c6c3Timo Sirainen to match_array(['beer < beverage', 'beverage < liquid',
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainen to match_array(['beer < beverage', 'beverage < liquid',
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen expect(subject.axioms.map(&:name)).to match_array(['transitivity'])
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen to match_array(['beer < beverage', 'beverage < liquid',
659fe5d24825b160cae512538088020d97a60239Timo Sirainen to match_array(['beer < beverage', 'beverage < liquid',