real_part = create_integer(options[:min], options[:max], false)
imaginary_part = create_integer(options[:min], options[:max], false)
return create_integer(2, 9, false).to_s if [real_part, imaginary_part].include? 0
- "(#{real_part} #{plus_or_minus} #{imaginary_part.to_s.sub('1', '')}%i)"
+ "(#{real_part} #{plus_or_minus} #{imaginary_part.to_s.sub(/\A1\z/, '')}%i)"
end
def plus_or_minus
result.should match(/\A\(\d [\-+] \d%i\)\z/)
end
+ it 'include 10' do
+ subject.stub(:create_integer).and_return(2, 10)
+ subject.stub(:plus_or_minus => '+')
+ result = subject.__send__(:create_complex_number)
+ result.should_not match(/\A\(2 \+ 0%i\)\z/)
+ end
+
it 'conjugate complex' do
settings = @defaults.merge(:max => 1)
subject.__send__(:options=, settings)