subject { SquareRootArithmetic.new }
- before(:all) { @opt_pattern = %r![+\-]! }
+ before(:all) { @opt_pattern = %r![\*]! }
it_should_behave_like 'Arithmetic'
context 'create expression' do
context 'single term' do
- before do
- settings = { :min => 2, :single_term_max => 1, }
+ before do
+ settings = { :min => 2, :single_term_max => 1, :single_term_min => 1 }
@problem = subject.generate(settings)
@expected_pattern = /\Asqrt\(\d\d?\) #{@opt_pattern} sqrt\(\d\d?\)\z/
end
:single_term_min => 2,
:single_term_max => 2,
}
- @term_pattern = /\(sqrt\(\d\d?\) [\-\+] sqrt\(\d\d?\)\)/
end
term_pattern = /\(sqrt\(\d\d?\) [\-\+] sqrt\(\d\d?\)\)/
[
- [{}, /\A#{term_pattern} [\-\+] #{term_pattern}\z/],
- [{:operators => ['*']}, /\A#{term_pattern} \* #{term_pattern}\z/],
- [{:operators => ['/']}, /\A#{term_pattern} \/ #{term_pattern}\z/],
- [{:use_power => true}, /\A#{term_pattern}(?:\^2)? [\-+] #{term_pattern}(?:\^2)?\z/],
+ [{}, /\A#{term_pattern} [\*] #{term_pattern}\z/],
+ [{:operators => ['+']}, /\A#{term_pattern} \+ #{term_pattern}\z/],
+ [{:operators => ['-']}, /\A#{term_pattern} \- #{term_pattern}\z/],
+ [{:use_power => true}, /\A#{term_pattern}(?:\^2)? [\*] #{term_pattern}(?:\^2)?\z/],
].each do |options, pattern|
context options.inspect do