m9t 0.3.2 → 1.0.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.
@@ -1,161 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.expand_path( 'test_helper', File.dirname( __FILE__ ) )
4
-
5
- class TestM9tDistance < Test::Unit::TestCase
6
-
7
- def setup
8
- I18n.locale = :en
9
- M9t::Distance.reset_options!
10
- end
11
-
12
- # Basic use
13
- def test_singular
14
- distance = M9t::Distance.new( 1 )
15
- I18n.locale = :en
16
-
17
- assert_equal('1 meter', distance.to_s( :precision => 0 ) )
18
- end
19
-
20
- def test_plural
21
- distance = M9t::Distance.new( 10 )
22
-
23
- I18n.locale = :en
24
- assert_equal( '10 meters', distance.to_s( :precision => 0 ) )
25
- I18n.locale = :it
26
- assert_equal( '10 metri', distance.to_s( :precision => 0 ) )
27
- end
28
-
29
- # Class methods
30
-
31
- # Base class
32
-
33
- def test_unit_name
34
- assert_equal('distance', M9t::Distance.measurement_name)
35
- end
36
-
37
- # Construction
38
- # ...from meters
39
- def test_new
40
- assert_equal(0.3, M9t::Distance.new(0.3).to_f)
41
- end
42
-
43
- def test_class_meters
44
- assert_equal(0.3, M9t::Distance.meters(0.3).to_f)
45
- end
46
-
47
- # ...from other units
48
- def test_class_kilometers
49
- assert_in_delta(300.0, M9t::Distance.kilometers(0.3).to_f, 0.00001)
50
- end
51
-
52
- def test_class_miles
53
- assert_in_delta(1609.344, M9t::Distance.miles(1).to_f, 0.00001)
54
- assert_in_delta(42194.988, M9t::Distance.miles(26.21875).to_f, 0.00001)
55
- end
56
-
57
- # Conversion class methods
58
- # ...to other units
59
- def test_class_meters_to_kilometers
60
- assert_equal(0.0003, M9t::Distance.meters_to_kilometers(0.3))
61
- end
62
-
63
- def test_class_miles_to_kilometers
64
- assert_in_delta(42.194988, M9t::Distance.miles_to_kilometers(26.21875), 0.00001)
65
- end
66
-
67
- # Default options
68
-
69
- def test_default_options_set
70
- assert_not_nil(M9t::Distance.options)
71
- end
72
-
73
- def test_default_option_abbreviated
74
- assert(! M9t::Distance.options[:abbreviated])
75
- end
76
-
77
- def test_default_option_units
78
- assert_equal(:meters, M9t::Distance.options[:units])
79
- end
80
-
81
- def test_default_option_decimals
82
- assert_equal(5, M9t::Distance.options[:precision])
83
- end
84
-
85
- # Instance methods
86
-
87
- # Conversion
88
- def test_instance_to_meters
89
- assert_equal(0.3, M9t::Distance.new(0.3).to_meters)
90
- end
91
-
92
- def test_instance_to_kilometers
93
- assert_equal(0.0003, M9t::Distance.new(0.3).to_kilometers)
94
- end
95
-
96
- def test_instance_to_kilometers
97
- assert_in_delta(0.98425, M9t::Distance.new(0.3).to_feet, 0.00001)
98
- end
99
-
100
- # to_s
101
- def test_to_s_singular
102
- assert_equal('1.00000 meter', M9t::Distance.new(1).to_s)
103
- end
104
-
105
- def test_to_s_plural
106
- assert_equal('0.30000 meters', M9t::Distance.new(0.3).to_s)
107
- end
108
-
109
- # i18n
110
- def test_to_s_plural_abbreviated
111
- distance = M9t::Distance.new( 10 )
112
- I18n.locale = :en
113
- assert_equal( '10m', distance.to_s( :abbreviated => true,
114
- :precision => 0 ) )
115
- I18n.locale = :it
116
- assert_equal( '10m', distance.to_s( :abbreviated => true,
117
- :precision => 0 ) )
118
- end
119
-
120
- def test_to_s_abbreviated
121
- distance = M9t::Distance.new( 0.3 )
122
-
123
- assert_equal( '0.30000m', distance.to_s( :abbreviated => true ) )
124
- end
125
-
126
- def test_to_s_precision
127
- distance = M9t::Distance.new( 0.3 )
128
-
129
- assert_equal( '0.3m', distance.to_s( :precision => 1,
130
- :abbreviated => true ) )
131
- end
132
-
133
- def test_to_s_kilometers
134
- distance = M9t::Distance.new( 156003 )
135
-
136
- assert_equal( '156.0 kilometers', distance.to_s( :precision => 1,
137
- :units => :kilometers ) )
138
- end
139
-
140
- def test_miles_singular
141
- marathon = M9t::Distance.miles( 26.21875 )
142
- I18n.locale = :en
143
- assert_equal( '26 miles', marathon.to_s( :units => :miles,
144
- :precision => 0 ) )
145
- I18n.locale = :it
146
- assert_equal( '26 miglia', marathon.to_s( :units => :miles,
147
- :precision => 0 ) )
148
- end
149
-
150
- def test_to_s_miles_plural
151
- ten_km = M9t::Distance.new( 10000 )
152
-
153
- I18n.locale = :en
154
- assert_equal( '6.2 miles', ten_km.to_s( :units => :miles,
155
- :precision => 1 ) )
156
- I18n.locale = :it
157
- assert_equal( '6,2 miglia', ten_km.to_s( :units => :miles,
158
- :precision => 1 ) )
159
- end
160
-
161
- end
data/test/i18n_test.rb DELETED
@@ -1,30 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.expand_path( 'test_helper', File.dirname( __FILE__ ) )
4
-
5
- class TestI18nMonkeyPatching < Test::Unit::TestCase
6
-
7
- def setup
8
- end
9
-
10
- def test_translations_loaded
11
- I18n.locale = :en
12
- assert_equal('.', I18n.t('numbers.decimal_separator'))
13
- I18n.locale = :it
14
- assert_equal(',', I18n.t('numbers.decimal_separator'))
15
- end
16
-
17
- def test_localize_float_default
18
- assert_equal('1.500000', I18n.localize_float(1.5))
19
- end
20
-
21
- def test_localize_float_formatted
22
- assert_equal('1.5', I18n.localize_float(1.5, {:format => '%0.1f'}))
23
- end
24
-
25
- def test_localize_float_italian
26
- I18n.locale = :it
27
- assert_equal('1,5', I18n.localize_float(1.5, {:format => '%0.1f'}))
28
- end
29
-
30
- end
@@ -1,25 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.expand_path( 'test_helper', File.dirname( __FILE__ ) )
4
-
5
- class TestM9tDistance < Test::Unit::TestCase
6
-
7
- def setup
8
- I18n.locale = :en
9
- M9t::Pressure.reset_options!
10
- end
11
-
12
- # Basic use
13
- def test_bar
14
- assert_equal(1.0, M9t::Pressure.new(1.0).value)
15
- end
16
-
17
- def test_hectopascals
18
- assert_equal(0.001, M9t::Pressure.hectopascals(1.0).value)
19
- end
20
-
21
- def test_inches_of_mercury
22
- assert_in_delta(0.03386, M9t::Pressure.inches_of_mercury(1.0).value, 0.00001)
23
- end
24
-
25
- end
data/test/speed_test.rb DELETED
@@ -1,104 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.expand_path( 'test_helper', File.dirname( __FILE__ ) )
4
-
5
- class TestM9tSpeed < Test::Unit::TestCase
6
-
7
- def setup
8
- I18n.locale = :en
9
- M9t::Speed.reset_options!
10
- end
11
-
12
- # Basic use
13
- def test_new
14
- assert_equal(45, M9t::Speed.new(45).value)
15
- end
16
-
17
- # Class methods
18
-
19
- # Base class
20
-
21
- def test_measurement_name
22
- assert_equal('speed', M9t::Speed.measurement_name)
23
- end
24
-
25
- # conversion constants
26
-
27
- def test_knot_conversion
28
- assert_in_delta(1.9438, M9t::Speed::KNOTS, 0.0001)
29
- end
30
-
31
- # input conversions
32
-
33
- def test_class_kilometers_per_hour
34
- assert_in_delta(0.2778, M9t::Speed.kilometers_per_hour(1).value, 0.0001)
35
- end
36
-
37
- def test_class_miles_per_hour
38
- assert_in_delta(0.447, M9t::Speed.miles_per_hour(1).value, 0.0001)
39
- end
40
-
41
- def test_class_knots
42
- assert_in_delta 0.5144, M9t::Speed.knots(1).value, 0.0001
43
- end
44
-
45
- # output conversions
46
-
47
- def test_class_to_miles_per_hour
48
- assert_in_delta(100.6621, M9t::Speed.meters_per_second_to_miles_per_hour(45), 0.0001)
49
- end
50
-
51
- # Instance methods
52
-
53
- # new
54
-
55
- def test_unknown_units
56
- speed = M9t::Speed.new( '010' )
57
-
58
- assert_raises( M9t::UnitError ) do
59
- speed.to_s( :units => :foos )
60
- end
61
- end
62
-
63
- # output conversions
64
-
65
- def test_kmh
66
- assert_equal(162, M9t::Speed.new(45).to_kilometers_per_hour)
67
- end
68
-
69
- def test_mph
70
- assert_in_delta(100.6621, M9t::Speed.new(45).to_miles_per_hour, 0.0001)
71
- end
72
-
73
- # to_s
74
-
75
- def test_to_s
76
- assert_equal '135.00000 meters per second', M9t::Speed.new(135).to_s
77
- I18n.locale = :it
78
- assert_equal '135,00000 metri al second', M9t::Speed.new(135).to_s
79
- end
80
-
81
- def test_to_s_precision
82
- speed = M9t::Speed.new( 135 )
83
-
84
- assert_equal '135 meters per second', speed.to_s( :precision => 0 )
85
- end
86
-
87
- def test_to_s_abbreviated
88
- speed = M9t::Speed.new( 135 )
89
-
90
- assert_equal '135m/s', speed.to_s( :abbreviated => true,
91
- :precision => 0 )
92
- end
93
-
94
- def test_to_s_knots
95
- speed = M9t::Speed.new( 135 )
96
-
97
- assert_equal '262 knots', speed.to_s( :units => :knots,
98
- :precision => 0 )
99
- I18n.locale = :it
100
- assert_equal '262 nodi', speed.to_s( :units => :knots,
101
- :precision => 0 )
102
- end
103
-
104
- end
@@ -1,111 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.expand_path( 'test_helper', File.dirname( __FILE__ ) )
4
-
5
- class TestM9tTemperature < Test::Unit::TestCase
6
-
7
- def setup
8
- I18n.locale = :en
9
- M9t::Temperature.reset_options!
10
- end
11
-
12
- # Basic use
13
- def test_new
14
- assert_equal(45, M9t::Temperature.new(45).value)
15
- end
16
-
17
- # Class methods
18
-
19
- # Base class
20
-
21
- def test_measurement_name
22
- assert_equal('temperature', M9t::Temperature.measurement_name)
23
- end
24
-
25
- # conversion constants
26
-
27
- def test_kelvin_offset
28
- assert_in_delta(-273.15, M9t::Temperature::ABSOLUTE_ZERO, 0.0001)
29
- end
30
-
31
- # input conversions
32
-
33
- def test_class_kelvin
34
- assert_in_delta(-273.15, M9t::Temperature.kelvin(0).value, 0.0001)
35
- end
36
-
37
- def test_class_fahrenheit
38
- assert_in_delta(-17.7777, M9t::Temperature.fahrenheit(0).value, 0.0001)
39
- end
40
-
41
- # output conversions
42
-
43
- def test_class_to_kelvin
44
- assert_in_delta(273.15, M9t::Temperature.to_kelvin(0), 0.0001)
45
- end
46
-
47
- def test_class_to_fahrenheit
48
- assert_in_delta(32, M9t::Temperature.to_fahrenheit(0), 0.0001)
49
- end
50
-
51
- def test_class_kelvin_to_degrees
52
- assert_in_delta(-273.15, M9t::Temperature.kelvin_to_degrees(0), 0.0001)
53
- end
54
-
55
- # Instance methods
56
-
57
- # new
58
-
59
- def test_unknown_units
60
- temperature = M9t::Temperature.new( 1 )
61
-
62
- assert_raises( M9t::UnitError ) do
63
- temperature.to_s( :units => :foos )
64
- end
65
- end
66
-
67
- # output conversions
68
-
69
- def test_to_kelvin
70
- assert_equal(373.15, M9t::Temperature.new(100).to_kelvin)
71
- end
72
-
73
- def test_to_fahrenheit
74
- assert_equal(212, M9t::Temperature.new(100).to_fahrenheit)
75
- end
76
-
77
- # to_s
78
-
79
- def test_to_s
80
- assert_equal '100.00000 degrees', M9t::Temperature.new(100).to_s
81
- I18n.locale = :it
82
- assert_equal '100,00000 gradi', M9t::Temperature.new(100).to_s
83
- end
84
-
85
- def test_to_s_precision
86
- temperature = M9t::Temperature.new( 135 )
87
-
88
- assert_equal '135 degrees', temperature.to_s( :precision => 0 )
89
- end
90
-
91
- def test_to_s_abbreviated
92
- temperature = M9t::Temperature.new( 135 )
93
-
94
- assert_equal '135°C', temperature.to_s( :abbreviated => true,
95
- :precision => 0 )
96
- assert_equal '408.15K', temperature.to_s( :units => :kelvin,
97
- :abbreviated => true,
98
- :precision => 2 )
99
- end
100
-
101
- def test_to_s_kelvin
102
- temperature = M9t::Temperature.new( 100 )
103
-
104
- assert_equal '373.15 kelvin', temperature.to_s( :units => :kelvin,
105
- :precision => 2 )
106
- I18n.locale = :it
107
- assert_equal '373,15 kelvin', temperature.to_s( :units => :kelvin,
108
- :precision => 2 )
109
- end
110
-
111
- end
data/test/test_helper.rb DELETED
@@ -1,17 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems' if RUBY_VERSION < '1.9'
4
- require 'test/unit'
5
-
6
- if RUBY_VERSION > '1.9'
7
- require 'simplecov'
8
- if ENV[ 'COVERAGE' ]
9
- SimpleCov.start do
10
- add_filter "/test/"
11
- end
12
- end
13
- end
14
-
15
- $:.unshift( File.expand_path( '../lib', File.dirname(__FILE__) ) )
16
-
17
- require 'm9t'