sine_axiom_selection_spec.rb revision 5dd0a6bcc5adb36d1d3ade5b3e7aa8e6f0bec236
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomirequire 'spec_helper'
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomidescribe SineAxiomSelection do
f49f1c5fa6a9a55a194e5ada042df134907278f4Aki Tuomi let(:sine_axiom_selection) { create :sine_axiom_selection }
f49f1c5fa6a9a55a194e5ada042df134907278f4Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context "respond to the parent's methods" do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi %i(proof_attempt_configurations axioms).each do |method|
285bfe946c2d54928b272270dd5eef9041b24271Timo Sirainen it method do
b3a968f434cbb9e374ea3da0a7d493e20231a4aeAki Tuomi expect(sine_axiom_selection).to respond_to(method)
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context 'validations' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is valid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_valid
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context 'depth_limit' do
cd24dc2196f7480d4793ca5d5f9f8d70741bc103Aki Tuomi context '10' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi before { sine_axiom_selection.depth_limit = 10 }
452d0005a47c6872590346f5ea8b247974689ac9Aki Tuomi it 'is valid' do
c6108c1bfa10d5fcd1def9c6a23ebcd5204d1775Timo Sirainen expect(sine_axiom_selection).to be_valid
345f36ebc7dd445cfa3dbf157342d110cc74d7c7Aki Tuomi end
c6108c1bfa10d5fcd1def9c6a23ebcd5204d1775Timo Sirainen end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context 'less than -1' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi before { sine_axiom_selection.depth_limit = -2 }
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is invalid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_invalid
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
17fbd200b78112bd0d89e89598aa01cea72a74e5Martti Rannanjärvi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context 'float' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi before { sine_axiom_selection.depth_limit = 1.2 }
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is invalid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_invalid
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi
de1c645a79d42c37dffb7f52e9c643b6251fdcd0Aki Tuomi context 'nil' do
7c9a9ac8cd5652f0e12a24b07c8559a7be0f5554Timo Sirainen before { sine_axiom_selection.depth_limit = nil }
de1c645a79d42c37dffb7f52e9c643b6251fdcd0Aki Tuomi it 'is invalid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_invalid
7e1a69e513739a7c12e3c5ec53dff1eb01b90524Aki Tuomi end
7e1a69e513739a7c12e3c5ec53dff1eb01b90524Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
149299c7d5136a8fb425ef3cf8953026a1358002Timo Sirainen
7e1a69e513739a7c12e3c5ec53dff1eb01b90524Aki Tuomi context 'commonness_threshold' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi context 'less than 0' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi before { sine_axiom_selection.commonness_threshold = -1 }
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is invalid' do
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen expect(sine_axiom_selection).to be_invalid
f089a10e4816e772992346c9837ec10db3894c65Timo Sirainen end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen context 'float' do
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen before { sine_axiom_selection.commonness_threshold = 1.2 }
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is invalid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_invalid
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen end
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi context 'nil' do
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi before { sine_axiom_selection.commonness_threshold = nil }
b3a968f434cbb9e374ea3da0a7d493e20231a4aeAki Tuomi it 'is invalid' do
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi expect(sine_axiom_selection).to be_invalid
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi end
ff95c6488eb3239654ed7fd51ed787a6b2c44506Timo Sirainen end
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi context 'tolerance' do
86ad487452c763152f3ff4dd4650512f3cecdc55Aki Tuomi context 'less than 1' do
b3a968f434cbb9e374ea3da0a7d493e20231a4aeAki Tuomi before { sine_axiom_selection.tolerance = 0 }
316cbe323513a0f20d1cf519fe9405e231d633e2Aki Tuomi it 'is invalid' do
expect(sine_axiom_selection).to be_invalid
end
end
context 'float' do
before { sine_axiom_selection.tolerance = 1.5 }
it 'is valid' do
expect(sine_axiom_selection).to be_valid
end
end
context 'nil' do
before { sine_axiom_selection.tolerance = nil }
it 'is invalid' do
expect(sine_axiom_selection).to be_invalid
end
end
end
end
end