integer 0.1.4 → 0.1.5
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.
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/integer.gemspec +4 -4
- data/lib/integer.rb +2 -2
- data/test/test_integer.rb +33 -33
- metadata +6 -6
data/Rakefile
CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
|
|
17
17
|
gem.name = "integer"
|
18
18
|
gem.homepage = "http://github.com/mspwong/integer"
|
19
19
|
gem.license = "mspwong"
|
20
|
-
gem.summary = "
|
21
|
-
gem.description = "
|
20
|
+
gem.summary = "Extends Integer with fibonacci support"
|
21
|
+
gem.description = "Adds to Integer the method 'closest_fibonacci' which returns the largest fibonacci number that is less than or equal to the integer."
|
22
22
|
gem.authors = ["Mary Wong"]
|
23
23
|
# dependencies defined in Gemfile
|
24
24
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.5
|
data/integer.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{integer}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mary Wong"]
|
12
|
-
s.date = %q{2011-08-
|
13
|
-
s.description = %q{
|
12
|
+
s.date = %q{2011-08-11}
|
13
|
+
s.description = %q{Adds to Integer the method 'closest_fibonacci' which returns the largest fibonacci number that is less than or equal to the integer.}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE.txt",
|
16
16
|
"README.rdoc"
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.licenses = ["mspwong"]
|
35
35
|
s.require_paths = ["lib"]
|
36
36
|
s.rubygems_version = %q{1.6.2}
|
37
|
-
s.summary = %q{
|
37
|
+
s.summary = %q{Extends Integer with fibonacci support}
|
38
38
|
|
39
39
|
if s.respond_to? :specification_version then
|
40
40
|
s.specification_version = 3
|
data/lib/integer.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Fibonacci
|
2
|
-
def
|
2
|
+
def closest_fibonacci
|
3
3
|
|
4
|
-
raise "method '
|
4
|
+
raise "method 'closest_fibonacci' is not available for negative integers" if self < 0
|
5
5
|
|
6
6
|
sequence = [0, 1]
|
7
7
|
sequence << sequence[sequence.size-2] + sequence.last while sequence.last <= self
|
data/test/test_integer.rb
CHANGED
@@ -61,57 +61,57 @@ class TestInteger < ActiveSupport::TestCase
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
context "calling
|
64
|
+
context "calling closest_fibonacci on a non-integer" do
|
65
65
|
should "throw exception" do
|
66
|
-
assert_raise(NoMethodError) { 0.5.
|
67
|
-
assert_raise(NoMethodError) { 4.5.
|
68
|
-
assert_raise(NoMethodError) { -0.5.
|
69
|
-
assert_raise(NoMethodError) { "abc".
|
66
|
+
assert_raise(NoMethodError) { 0.5.closest_fibonacci }
|
67
|
+
assert_raise(NoMethodError) { 4.5.closest_fibonacci }
|
68
|
+
assert_raise(NoMethodError) { -0.5.closest_fibonacci }
|
69
|
+
assert_raise(NoMethodError) { "abc".closest_fibonacci }
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
-
context "calling
|
73
|
+
context "calling closest_fibonacci on a negative integer" do
|
74
74
|
should "throw exception" do
|
75
|
-
assert_raise(RuntimeError) { -1.
|
75
|
+
assert_raise(RuntimeError) { -1.closest_fibonacci }
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
context "calling
|
79
|
+
context "calling closest_fibonacci on a positive integer or zero" do
|
80
80
|
should "return the correct value" do
|
81
|
-
assert_equal 0, -0.
|
82
|
-
assert_equal 0, 0.
|
83
|
-
assert_equal 1, 1.
|
84
|
-
assert_equal 2, 2.
|
85
|
-
assert_equal 3, 3.
|
86
|
-
assert_equal 3, 3.
|
87
|
-
assert_equal 5, 5.
|
88
|
-
assert_equal 5, 6.
|
89
|
-
assert_equal 5, 7.
|
90
|
-
assert_equal 8, 8.
|
91
|
-
assert_equal 8, 9.
|
92
|
-
assert_equal 8, 10.
|
93
|
-
assert_equal 8, 11.
|
94
|
-
assert_equal 8, 12.
|
95
|
-
assert_equal 13, 13.
|
96
|
-
assert_equal 13, 14.
|
97
|
-
assert_equal 13, 15.
|
98
|
-
assert_equal 13, 15.
|
99
|
-
assert_equal 13, 20.
|
100
|
-
assert_equal 21, 21.
|
101
|
-
assert_equal 89, 99.
|
102
|
-
assert_equal 144, 156.
|
81
|
+
assert_equal 0, -0.closest_fibonacci
|
82
|
+
assert_equal 0, 0.closest_fibonacci
|
83
|
+
assert_equal 1, 1.closest_fibonacci
|
84
|
+
assert_equal 2, 2.closest_fibonacci
|
85
|
+
assert_equal 3, 3.closest_fibonacci
|
86
|
+
assert_equal 3, 3.closest_fibonacci
|
87
|
+
assert_equal 5, 5.closest_fibonacci
|
88
|
+
assert_equal 5, 6.closest_fibonacci
|
89
|
+
assert_equal 5, 7.closest_fibonacci
|
90
|
+
assert_equal 8, 8.closest_fibonacci
|
91
|
+
assert_equal 8, 9.closest_fibonacci
|
92
|
+
assert_equal 8, 10.closest_fibonacci
|
93
|
+
assert_equal 8, 11.closest_fibonacci
|
94
|
+
assert_equal 8, 12.closest_fibonacci
|
95
|
+
assert_equal 13, 13.closest_fibonacci
|
96
|
+
assert_equal 13, 14.closest_fibonacci
|
97
|
+
assert_equal 13, 15.closest_fibonacci
|
98
|
+
assert_equal 13, 15.closest_fibonacci
|
99
|
+
assert_equal 13, 20.closest_fibonacci
|
100
|
+
assert_equal 21, 21.closest_fibonacci
|
101
|
+
assert_equal 89, 99.closest_fibonacci
|
102
|
+
assert_equal 144, 156.closest_fibonacci
|
103
103
|
|
104
104
|
test_fixnum = 99999999
|
105
105
|
assert test_fixnum.is_a?(Fibonacci)
|
106
106
|
assert test_fixnum.is_a?(Fixnum)
|
107
|
-
assert_equal 63245986, test_fixnum.
|
107
|
+
assert_equal 63245986, test_fixnum.closest_fibonacci
|
108
108
|
|
109
109
|
test_bignum = 999999999999999999999999999999
|
110
110
|
assert test_bignum.is_a?(Fibonacci)
|
111
111
|
assert test_bignum.is_a?(Bignum)
|
112
|
-
assert_equal 898923707008479989274290850145, test_bignum.
|
112
|
+
assert_equal 898923707008479989274290850145, test_bignum.closest_fibonacci
|
113
113
|
|
114
|
-
assert_not_nil Time.now.to_i.
|
114
|
+
assert_not_nil Time.now.to_i.closest_fibonacci
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: integer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 5
|
10
|
+
version: 0.1.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mary Wong
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-11 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
name: rcov
|
81
81
|
version_requirements: *id004
|
82
82
|
prerelease: false
|
83
|
-
description:
|
83
|
+
description: Adds to Integer the method 'closest_fibonacci' which returns the largest fibonacci number that is less than or equal to the integer.
|
84
84
|
email:
|
85
85
|
executables: []
|
86
86
|
|
@@ -136,6 +136,6 @@ rubyforge_project:
|
|
136
136
|
rubygems_version: 1.6.2
|
137
137
|
signing_key:
|
138
138
|
specification_version: 3
|
139
|
-
summary:
|
139
|
+
summary: Extends Integer with fibonacci support
|
140
140
|
test_files: []
|
141
141
|
|