simple_temperature 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,27 @@
1
+ class Temperature
2
+ attr_accessor :number, :unit
3
+
4
+ def initialize(number, unit)
5
+ @number = number
6
+ @unit = unit
7
+ end
8
+
9
+ def to_fahrenheit
10
+ to_celsius * (9 / 5.0) + 32
11
+ end
12
+
13
+ def to_celsius
14
+ case unit
15
+ when :celsius
16
+ number
17
+ when :fahrenheit
18
+ (number - 32) * (5 / 9.0)
19
+ when :kelvin
20
+ number - 273.15
21
+ end
22
+ end
23
+
24
+ def to_kelvin
25
+ to_celsius + 273.15
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ class Temperature
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 1
5
+ PATCH = 0
6
+ STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
+ end
8
+ end
@@ -0,0 +1,36 @@
1
+ require "temperature"
2
+ require "test/unit"
3
+
4
+ class TemperatureTest < Test::Unit::TestCase
5
+ def test_assign_attributes
6
+ temp = Temperature.new(32, :celsius)
7
+
8
+ assert_equal 32, temp.number
9
+ assert_equal :celsius, temp.unit
10
+ end
11
+
12
+ def test_convert_celsius_to_kelvin
13
+ temp = Temperature.new(50, :celsius)
14
+ assert_equal 323.15, temp.to_kelvin
15
+ end
16
+
17
+ def test_convert_celsius_to_fahrenheit
18
+ temp = Temperature.new(40, :celsius)
19
+ assert_equal 104, temp.to_fahrenheit
20
+ end
21
+
22
+ def test_convert_celsius_to_celsius
23
+ temp = Temperature.new(40, :celsius)
24
+ assert_equal 40, temp.to_celsius
25
+ end
26
+
27
+ def test_convert_kelvin_to_celsius
28
+ temp = Temperature.new(323.15, :kelvin)
29
+ assert_equal 50, temp.to_celsius
30
+ end
31
+
32
+ def test_convert_fahrenhet_to_celsius
33
+ temp = Temperature.new(104, :fahrenheit)
34
+ assert_equal 40, temp.to_celsius
35
+ end
36
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simple_temperature
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nando Vieira
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-01 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Convert temperature between different units like Celsius, Kelvin and
15
+ Fahrenheit.
16
+ email: fnando.vieira@gmail.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/temperature/version.rb
22
+ - lib/temperature.rb
23
+ - test/temperature_test.rb
24
+ homepage: http://rubygems.org/gems/simple_temperature
25
+ licenses: []
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 1.8.11
45
+ signing_key:
46
+ specification_version: 3
47
+ summary: Convert temperature between different units.
48
+ test_files:
49
+ - test/temperature_test.rb