Решение на Първа задача - температура и химични елементи от Цветина Георгиева

Обратно към всички решения

Към профила на Цветина Георгиева

Резултати

  • 2 точки от тестове
  • 0 бонус точки
  • 2 точки общо
  • 6 успешни тест(а)
  • 11 неуспешни тест(а)

Код

def convert_between_temperature_units(temp, from, to)
if from == 'C' && to == 'K'
temp + 273.15
elsif from == 'C' && to == 'F'
temp * 1.8 + 32
elsif from == 'K' && to == 'C'
temp - 273.15
elsif from == 'K' && to == 'F'
temp * 9 / 5 - 459.67
elsif from == 'F' && to == 'C'
(temp - 32) / 1.8
elsif from == 'F' && to == 'K'
(temp + 459.67) * 5 / 9
end
end

Лог от изпълнението

F......FFFFFFFFFF

Failures:

  1) #convert_between_temperature_units can convert to the same unit
     Failure/Error: expect(actual_to_value).to be_within(0.0001).of(expected_to_value)
     ArgumentError:
       The actual value (nil) must respond to `-`
     # /tmp/d20161018-13513-10qlg8j/spec.rb:57:in `expect_conversion'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:3:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  2) #melting_point_of_substance knows the melting point of water
     Failure/Error: expect(melting_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `melting_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fedadef8a60>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:93:in `expect_melting_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:63:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  3) #melting_point_of_substance knows the melting point of ethanol
     Failure/Error: expect(melting_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `melting_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fedadef2098>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:93:in `expect_melting_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:69:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  4) #melting_point_of_substance knows the melting point of gold
     Failure/Error: expect(melting_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `melting_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fedadeeb108>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:93:in `expect_melting_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:75:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  5) #melting_point_of_substance knows the melting point of silver
     Failure/Error: expect(melting_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `melting_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fedadee7530>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:93:in `expect_melting_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:81:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  6) #melting_point_of_substance knows the melting point of copper
     Failure/Error: expect(melting_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `melting_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fedadee4b00>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:93:in `expect_melting_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:87:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  7) #boiling_point_of_substance knows the boiling point of water
     Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `boiling_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_3:0x007fedadee1d10>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:129:in `expect_boiling_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:99:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  8) #boiling_point_of_substance knows the boiling point of ethanol
     Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `boiling_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_3:0x007fedadd34c10>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:129:in `expect_boiling_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:105:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  9) #boiling_point_of_substance knows the boiling point of gold
     Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `boiling_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_3:0x007fedadd1d2e0>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:129:in `expect_boiling_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:111:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  10) #boiling_point_of_substance knows the boiling point of silver
     Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `boiling_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_3:0x007fedadd19460>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:129:in `expect_boiling_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:117:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

  11) #boiling_point_of_substance knows the boiling point of copper
     Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
     NoMethodError:
       undefined method `boiling_point_of_substance' for #<RSpec::Core::ExampleGroup::Nested_3:0x007fedadcf3cb0>
     # /tmp/d20161018-13513-10qlg8j/spec.rb:129:in `expect_boiling_point_of'
     # /tmp/d20161018-13513-10qlg8j/spec.rb:123:in `block (2 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
     # ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'

Finished in 0.00975 seconds
17 examples, 11 failures

Failed examples:

rspec /tmp/d20161018-13513-10qlg8j/spec.rb:2 # #convert_between_temperature_units can convert to the same unit
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:62 # #melting_point_of_substance knows the melting point of water
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:68 # #melting_point_of_substance knows the melting point of ethanol
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:74 # #melting_point_of_substance knows the melting point of gold
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:80 # #melting_point_of_substance knows the melting point of silver
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:86 # #melting_point_of_substance knows the melting point of copper
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:98 # #boiling_point_of_substance knows the boiling point of water
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:104 # #boiling_point_of_substance knows the boiling point of ethanol
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:110 # #boiling_point_of_substance knows the boiling point of gold
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:116 # #boiling_point_of_substance knows the boiling point of silver
rspec /tmp/d20161018-13513-10qlg8j/spec.rb:122 # #boiling_point_of_substance knows the boiling point of copper

История (1 версия и 0 коментара)

Цветина обнови решението на 17.10.2016 16:53 (преди около 8 години)

+def convert_between_temperature_units(temp, from, to)
+ if from == 'C' && to == 'K'
+ temp + 273.15
+ elsif from == 'C' && to == 'F'
+ temp * 1.8 + 32
+ elsif from == 'K' && to == 'C'
+ temp - 273.15
+ elsif from == 'K' && to == 'F'
+ temp * 9 / 5 - 459.67
+ elsif from == 'F' && to == 'C'
+ (temp - 32) / 1.8
+ elsif from == 'F' && to == 'K'
+ (temp + 459.67) * 5 / 9
+ end
+end