webget_ruby_ramp 1.7.3 → 1.7.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,76 @@
1
+ require 'test/unit'
2
+ require 'webget_ruby_ramp'
3
+
4
+ class ClassTest < Test::Unit::TestCase
5
+
6
+
7
+ METHOD_REGEXP = /^[abc]\W*$/
8
+ def test_publicize_methods
9
+
10
+ # Before we test the block, ensure our setup is correct
11
+ assert_equal([:a,:a!,:a=,:a?],My.private_instance_methods.grep(METHOD_REGEXP),'private methods before block')
12
+ assert_equal([:b,:b!,:b=,:b?],My.protected_instance_methods.grep(METHOD_REGEXP),'protected methods before block')
13
+ assert_equal([:c,:c!,:c=,:c?],My.public_instance_methods.grep(METHOD_REGEXP),'public methods before block')
14
+
15
+ # Now we test inside the block
16
+ My.publicize_methods{
17
+ assert_equal([],My.private_instance_methods.grep(METHOD_REGEXP),'private methods inside block')
18
+ assert_equal([],My.protected_instance_methods.grep(METHOD_REGEXP),'protected methods inside block')
19
+ assert_equal([:a,:a!,:a=,:a?,:b,:b!,:b=,:b?,:c,:c!,:c=,:c?],My.public_instance_methods.grep(METHOD_REGEXP).sort,'public methods inside block')
20
+ }
21
+
22
+ # After we test the block, ensure our setup is restored
23
+ assert_equal([:a,:a!,:a=,:a?],My.private_instance_methods.grep(METHOD_REGEXP),'private methods before block')
24
+ assert_equal([:b,:b!,:b=,:b?],My.protected_instance_methods.grep(METHOD_REGEXP),'protected methods before block')
25
+ assert_equal([:c,:c!,:c=,:c?],My.public_instance_methods.grep(METHOD_REGEXP),'public methods before block')
26
+
27
+ end
28
+
29
+ end
30
+
31
+
32
+ class My
33
+
34
+ private
35
+
36
+ def a
37
+ end
38
+
39
+ def a!
40
+ end
41
+
42
+ def a=
43
+ end
44
+
45
+ def a?
46
+ end
47
+
48
+ protected
49
+
50
+ def b
51
+ end
52
+
53
+ def b!
54
+ end
55
+
56
+ def b=
57
+ end
58
+
59
+ def b?
60
+ end
61
+
62
+ public
63
+
64
+ def c
65
+ end
66
+
67
+ def c!
68
+ end
69
+
70
+ def c=
71
+ end
72
+
73
+ def c?
74
+ end
75
+
76
+ end
@@ -3,16 +3,43 @@ require 'webget_ruby_ramp'
3
3
 
4
4
  class CSVTest < Test::Unit::TestCase
5
5
 
6
- def test_http_headers
7
- h=CSV.http_headers
8
- assert_equal('text/csv',h["Content-Type"])
9
- assert_equal("attachment; filename=\"data.csv\"",h["Content-Disposition"])
6
+ def test_http_headers
7
+ h=CSV.http_headers
8
+ assert_equal('text/csv',h["Content-Type"])
9
+ assert_equal("attachment; filename=\"data.csv\"",h["Content-Disposition"])
10
+ end
11
+
12
+ def test_http_headers_with_filename
13
+ h=CSV.http_headers(:filename=>'foo')
14
+ assert_equal('text/csv',h["Content-Type"])
15
+ assert_equal("attachment; filename=\"foo\"",h["Content-Disposition"])
16
+ end
17
+
18
+ def test_http_headers_adjust_for_broken_msie_with_request_as_firefox
19
+ headers = {:request => MockRequest.new('HTTP_USER_AGENT' => 'firefox')}
20
+ headers = CSV.http_headers_adjust_for_broken_msie(headers)
21
+ assert_equal(nil,headers[:content_type])
22
+ assert_equal(nil,headers[:cache])
10
23
  end
11
24
 
12
- def test_http_headers_with_filename
13
- h=CSV.http_headers(:filename=>'foo')
14
- assert_equal('text/csv',h["Content-Type"])
15
- assert_equal("attachment; filename=\"foo\"",h["Content-Disposition"])
25
+ def test_http_headers_adjust_for_broken_msie_with_request_as_msie
26
+ headers = {:request => MockRequest.new('HTTP_USER_AGENT' => 'msie')}
27
+ headers = CSV.http_headers_adjust_for_broken_msie(headers)
28
+ assert_equal('text/plain',headers[:content_type])
29
+ assert_equal(false,headers[:cache])
16
30
  end
17
31
 
18
32
  end
33
+
34
+ class MockRequest
35
+
36
+ def initialize(env)
37
+ @env=env
38
+ end
39
+
40
+ def env
41
+ @env
42
+ end
43
+
44
+ end
45
+
@@ -30,8 +30,13 @@ class DateTest < Test::Unit::TestCase
30
30
  end
31
31
 
32
32
 
33
- def test_to_sql
34
- assert('2007-12-31',Date.new(2008,12,31))
33
+ def test_to_sql_with_non_zero_month_and_mday
34
+ assert_equal('2007-12-31',Date.new(2007,12,31).to_sql)
35
+ end
36
+
37
+
38
+ def test_to_sql_with_zero_month_and_mday
39
+ assert_equal('2007-01-02',Date.new(2007,1,2).to_sql)
35
40
  end
36
41
 
37
42
 
@@ -48,6 +53,9 @@ class DateTest < Test::Unit::TestCase
48
53
  assert_equal(28,BIRTHDATE.age_years(NEW_YEARS_EVE), '> birthday')
49
54
  end
50
55
 
56
+ def test_age_years_with_non_date
57
+ assert_raise(ArgumentError){ BIRTHDATE.age_years('') }
58
+ end
51
59
 
52
60
  def test_age_days
53
61
  assert_equal( 9967,BIRTHDATE.age_days(VALENTINES), '< birthday')
@@ -55,6 +63,10 @@ class DateTest < Test::Unit::TestCase
55
63
  assert_equal(10288,BIRTHDATE.age_days(NEW_YEARS_EVE), '> birthday')
56
64
  end
57
65
 
66
+ def test_age_days_with_non_date
67
+ assert_raise(ArgumentError){ BIRTHDATE.age_days('') }
68
+ end
69
+
58
70
 
59
71
  end
60
72
 
@@ -5,8 +5,8 @@ require 'set'
5
5
  class EnumerableTest < Test::Unit::TestCase
6
6
 
7
7
  ITEMS = ['a','b','c']
8
- MAPTEST = [123,"456"]
9
- RGB = ["red","green","blue"]
8
+ MAPTEST = [123,"456"] # to test typecasts-- one is numeric and one is string
9
+ RGB = ["red","green","blue"] # to test case changes
10
10
 
11
11
 
12
12
  ########################################################################
@@ -4,15 +4,35 @@ require 'webget_ruby_ramp'
4
4
  class HashTest < Test::Unit::TestCase
5
5
 
6
6
 
7
- def test_size
7
+ def test_size_true
8
8
  h = {'a'=>'b'}
9
9
  assert(h.size?)
10
+ end
11
+
12
+
13
+ def test_size_false
10
14
  h = {}
11
15
  assert(!h.size?)
12
16
  end
13
17
 
14
18
 
15
- def test_each_key
19
+ def test_each_sort
20
+ out = []
21
+ h = {'c' => 'z', 'b' => 'y', 'a' => 'x'}
22
+ h.each_sort{|key,val| out << key.upcase; out << val.upcase}
23
+ assert_equal(['A','X','B','Y','C','Z'], out)
24
+ end
25
+
26
+
27
+ def test_each_sort_with_empty
28
+ out = []
29
+ h = {}
30
+ h.each_sort{|key,val| out << key.upcase; out << val.upcase}
31
+ assert_equal([], out)
32
+ end
33
+
34
+
35
+ def test_each_key_bang
16
36
  actual = { "a" => "b", "c" => "d" }
17
37
  expect = { "A" => "b", "C" => "d" }
18
38
  actual.each_key! {|key| key.upcase }
@@ -20,7 +40,15 @@ class HashTest < Test::Unit::TestCase
20
40
  end
21
41
 
22
42
 
23
- def test_each_pair
43
+ def test_each_key_bang_with_empty
44
+ actual = {}
45
+ expect = {}
46
+ actual.each_key! {|key| key.upcase }
47
+ assert_equal(expect,actual)
48
+ end
49
+
50
+
51
+ def test_each_pair_bang
24
52
  actual = { "a" => "b", "c" => "d" }
25
53
  expect = { "A" => "B", "C" => "D" }
26
54
  actual.each_pair! {|key,value| [key.upcase, value.upcase] }
@@ -28,7 +56,15 @@ class HashTest < Test::Unit::TestCase
28
56
  end
29
57
 
30
58
 
31
- def test_each_value
59
+ def test_each_pair_bang_with_empty
60
+ actual = {}
61
+ expect = {}
62
+ actual.each_pair! {|key,value| [key.upcase, value.upcase] }
63
+ assert_equal(expect,actual)
64
+ end
65
+
66
+
67
+ def test_each_value_bang
32
68
  actual = { "a" => "b", "c" => "d" }
33
69
  expect = { "a" => "B", "c" => "D" }
34
70
  actual.each_value! {|value| value.upcase }
@@ -36,14 +72,36 @@ class HashTest < Test::Unit::TestCase
36
72
  end
37
73
 
38
74
 
75
+ def test_each_value_bang_with_empty
76
+ actual = {}
77
+ expect = {}
78
+ actual.each_value! {|value| value.upcase }
79
+ assert_equal(expect,actual)
80
+ end
81
+
82
+
39
83
  def test_map_pair
40
84
  h = {"a"=>"b", "c"=>"d", "e"=>"f" }
41
85
  expect=["ab","cd","ef"]
42
86
  actual=h.map_pair{|key,value| key+value }.sort
43
87
  assert_equal(expect,actual,h.inspect)
44
88
  end
89
+
90
+
91
+ def test_map_pair_with_empty
92
+ h = {}
93
+ expect=[]
94
+ actual=h.map_pair{|key,value| key+value }.sort
95
+ assert_equal(expect,actual,h.inspect)
96
+ end
45
97
 
46
98
 
99
+ def test_to_yaml_sort
100
+ h = {"a"=>"b", "c"=>"d", "e"=>"f" }
101
+ assert_equal("--- \na: b\nc: d\ne: f\n", h.to_yaml_sort)
102
+ end
103
+
104
+
47
105
  def pivotable
48
106
  h=Hash.new
49
107
  h['a']=Hash.new
@@ -98,6 +156,35 @@ class HashTest < Test::Unit::TestCase
98
156
  end
99
157
 
100
158
 
159
+ def test_pivot_direction_up_with_true
160
+ Hash.publicize_methods do
161
+ assert({}.pivot_direction_up?('key'))
162
+ assert({}.pivot_direction_up?('keys'))
163
+ assert({}.pivot_direction_up?('up'))
164
+ assert({}.pivot_direction_up?('left'))
165
+ assert({}.pivot_direction_up?('out'))
166
+ end
167
+ end
168
+
169
+
170
+ def test_pivot_direction_up_with_false
171
+ Hash.publicize_methods do
172
+ assert(!{}.pivot_direction_up?('val'))
173
+ assert(!{}.pivot_direction_up?('vals'))
174
+ assert(!{}.pivot_direction_up?('down'))
175
+ assert(!{}.pivot_direction_up?('right'))
176
+ assert(!{}.pivot_direction_up?('in'))
177
+ end
178
+ end
179
+
180
+
181
+ def test_pivot_direction_up_with_invalid
182
+ Hash.publicize_methods do
183
+ assert_raise(ArgumentError){ {}.pivot_direction_up?('nonsense') }
184
+ end
185
+ end
186
+
187
+
101
188
  end
102
189
 
103
190
 
@@ -15,5 +15,21 @@ class IntegerTest < Test::Unit::TestCase
15
15
  assert_equal(expect,actual)
16
16
  end
17
17
 
18
+ def test_even_with_true
19
+ assert(2.even?)
20
+ end
21
+
22
+ def test_even_with_false
23
+ assert(!3.even?)
24
+ end
25
+
26
+ def test_odd_with_true
27
+ assert(3.odd?)
28
+ end
29
+
30
+ def test_odd_with_false
31
+ assert(!2.odd?)
32
+ end
33
+
18
34
  end
19
35
 
@@ -4,6 +4,7 @@ require 'webget_ruby_ramp'
4
4
  class MathTest < Test::Unit::TestCase
5
5
 
6
6
  def test_ln
7
+ assert_equal(0.0,Math.ln(1.0))
7
8
  assert_equal(1.0,Math.ln(Math.exp(1.0)))
8
9
  end
9
10
 
@@ -23,6 +23,66 @@ class NumericTest < Test::Unit::TestCase
23
23
  assert_equal(5,5.unless(false))
24
24
  end
25
25
 
26
+
27
+ def test_peta
28
+ assert_equal(1,1000000000000000.peta)
29
+ end
30
+
31
+
32
+ def test_tera
33
+ assert_equal(1,1000000000000.tera)
34
+ end
35
+
36
+
37
+ def test_giga
38
+ assert_equal(1,1000000000.giga)
39
+ end
40
+
41
+
42
+ def test_mega
43
+ assert_equal(1,1000000.mega)
44
+ end
45
+
46
+
47
+ def test_kilo
48
+ assert_equal(1,1000.kilo)
49
+ end
50
+
51
+
52
+ def test_hecto
53
+ assert_equal(1,100.hecto)
54
+ end
55
+
56
+
57
+ def test_deka
58
+ assert_equal(1,10.deka)
59
+ end
60
+
61
+
62
+ def test_deci
63
+ assert_equal(1,0.1.deci)
64
+ end
65
+
66
+
67
+ def test_centi
68
+ assert_equal(1,0.01.centi)
69
+ end
70
+
71
+
72
+ def test_milli
73
+ assert_equal(1,0.001.milli)
74
+ end
75
+
76
+
77
+ def test_micro
78
+ assert_equal(1,0.000001.micro)
79
+ end
80
+
81
+
82
+ def test_nano
83
+ assert_equal(1,0.000000001.nano)
84
+ end
85
+
26
86
 
27
87
  end
28
88
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webget_ruby_ramp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3
4
+ version: 1.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - WebGet
@@ -32,7 +32,7 @@ cert_chain:
32
32
  DXnLFY0cVuBnNDMOOFl8vk1qIcZjcTovhzgcixpG6Uk5qmUsKHRLQf4oQJx7TfLK
33
33
  -----END CERTIFICATE-----
34
34
 
35
- date: 2010-02-17 00:00:00 -08:00
35
+ date: 2010-02-19 00:00:00 -08:00
36
36
  default_executable:
37
37
  dependencies: []
38
38
 
@@ -45,8 +45,11 @@ extensions: []
45
45
  extra_rdoc_files: []
46
46
 
47
47
  files:
48
+ - README.rdoc
49
+ - LICENSE.txt
48
50
  - lib/webget_ruby_ramp.rb
49
51
  - lib/webget_ruby_ramp/array.rb
52
+ - lib/webget_ruby_ramp/class.rb
50
53
  - lib/webget_ruby_ramp/csv.rb
51
54
  - lib/webget_ruby_ramp/date.rb
52
55
  - lib/webget_ruby_ramp/enumerable.rb
@@ -102,6 +105,7 @@ specification_version: 3
102
105
  summary: "WebGet Ruby Gem: Ramp gem provides base extensions to ruby classes and rails classes."
103
106
  test_files:
104
107
  - test/webget_ruby_ramp/array_test.rb
108
+ - test/webget_ruby_ramp/class_test.rb
105
109
  - test/webget_ruby_ramp/csv_test.rb
106
110
  - test/webget_ruby_ramp/date_test.rb
107
111
  - test/webget_ruby_ramp/enumerable_test.rb