fibonacci 0.1.7 → 0.1.8
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.
- checksums.yaml +7 -0
- data/lib/fibonacci/version.rb +1 -1
- data/test/fibonacci_test.rb +89 -0
- metadata +14 -14
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 00d1c8968bf446f0b4ce5ec0c2f89d56d81f3999
|
4
|
+
data.tar.gz: 4fc420e93c907198c3296bbd9ff1894366376e5d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b042fdac974e77f267337c2adaf9be05980664ba6d1f235510a043aa2652974563202899ab3fbd95b98d83ca2de298f8b2f23bac437e3248f8ffd0b257420fac
|
7
|
+
data.tar.gz: eec7e3ef052a2dbc8317f78f2b4551d18d8876cb31e20e19743d386afa0cdf5958c1bf383806f8dcc71cc3a5d518b335e492a9f9da7b3cfb0f0d2708bf953d03
|
data/lib/fibonacci/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
VERSION = "0.1.
|
1
|
+
VERSION = "0.1.8"
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'fibonacci'
|
3
|
+
|
4
|
+
class FibonacciTest < MiniTest::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@fib = Fibonacci.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_brackets_method
|
10
|
+
assert_equal 0, @fib[0]
|
11
|
+
assert_equal 1, @fib[1]
|
12
|
+
assert_equal 34, @fib[9]
|
13
|
+
assert_equal 55, @fib[10]
|
14
|
+
assert_equal 354224848179261915075, @fib[100]
|
15
|
+
|
16
|
+
assert_raises ArgumentError do
|
17
|
+
@fib[-1]
|
18
|
+
end
|
19
|
+
|
20
|
+
assert_raises ArgumentError do
|
21
|
+
@fib["12"]
|
22
|
+
end
|
23
|
+
|
24
|
+
assert_raises ArgumentError do
|
25
|
+
@fib[1.0]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_terms
|
30
|
+
assert_equal [0, 1, 1, 2, 3, 5], @fib.terms(6)
|
31
|
+
assert_equal [], @fib.terms(0)
|
32
|
+
assert_equal [0], @fib.terms(1)
|
33
|
+
|
34
|
+
assert_raises ArgumentError do
|
35
|
+
@fib.terms(-1)
|
36
|
+
end
|
37
|
+
|
38
|
+
assert_raises TypeError do
|
39
|
+
@fib.terms("12")
|
40
|
+
end
|
41
|
+
|
42
|
+
assert_raises RangeError do
|
43
|
+
@fib.terms(100000000000000000000000000000)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_fast_val
|
48
|
+
assert_equal 0, @fib.fast_val(0)
|
49
|
+
assert_equal 1, @fib.fast_val(1)
|
50
|
+
assert_equal 34, @fib.fast_val(9)
|
51
|
+
assert_equal 55, @fib.fast_val(10)
|
52
|
+
assert_equal 354224848179261915075, @fib.fast_val(100)
|
53
|
+
|
54
|
+
assert_raises ArgumentError do
|
55
|
+
@fib.fast_val(-1)
|
56
|
+
end
|
57
|
+
|
58
|
+
assert_raises ArgumentError do
|
59
|
+
@fib.fast_val("12")
|
60
|
+
end
|
61
|
+
|
62
|
+
assert_raises ArgumentError do
|
63
|
+
@fib.fast_val(1.0)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_matrix
|
68
|
+
assert_equal 0, (@fib.matrix(0))[0][1]
|
69
|
+
assert_equal 1, (@fib.matrix(1))[0][1]
|
70
|
+
assert_equal 34, (@fib.matrix(9))[0][1]
|
71
|
+
assert_equal 55, (@fib.matrix(10))[0][1]
|
72
|
+
assert_equal 354224848179261915075, (@fib.matrix(100))[0][1]
|
73
|
+
|
74
|
+
matrix = @fib.matrix(100)
|
75
|
+
assert_equal (@fib.matrix(101))[0][1], (matrix[0][1] + matrix[1][1])
|
76
|
+
|
77
|
+
assert_raises ArgumentError do
|
78
|
+
@fib.matrix(-1)
|
79
|
+
end
|
80
|
+
|
81
|
+
assert_raises ArgumentError do
|
82
|
+
@fib.matrix("12")
|
83
|
+
end
|
84
|
+
|
85
|
+
assert_raises ArgumentError do
|
86
|
+
@fib.matrix(1.0)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
metadata
CHANGED
@@ -1,50 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fibonacci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
|
-
-
|
7
|
+
- NagaChaitanya Vellanki
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: A Ruby gem for exploring Fibonacci series
|
15
14
|
email:
|
16
|
-
-
|
15
|
+
- nagachaitanya.vellanki.com
|
17
16
|
executables: []
|
18
17
|
extensions:
|
19
18
|
- ext/fibonacci/extconf.rb
|
20
19
|
extra_rdoc_files: []
|
21
20
|
files:
|
21
|
+
- ext/fibonacci/extconf.rb
|
22
|
+
- ext/fibonacci/fibonacci.c
|
22
23
|
- lib/fibonacci.rb
|
23
24
|
- lib/fibonacci/version.rb
|
24
|
-
-
|
25
|
-
- ext/fibonacci/extconf.rb
|
25
|
+
- test/fibonacci_test.rb
|
26
26
|
homepage: http://github.com/chaitanyav/fibonacci
|
27
27
|
licenses: []
|
28
|
+
metadata: {}
|
28
29
|
post_install_message:
|
29
30
|
rdoc_options: []
|
30
31
|
require_paths:
|
31
32
|
- lib
|
32
33
|
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ">="
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
38
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
39
|
requirements:
|
41
|
-
- -
|
40
|
+
- - ">="
|
42
41
|
- !ruby/object:Gem::Version
|
43
42
|
version: '0'
|
44
43
|
requirements: []
|
45
44
|
rubyforge_project: fibonacci
|
46
|
-
rubygems_version:
|
45
|
+
rubygems_version: 2.4.5
|
47
46
|
signing_key:
|
48
|
-
specification_version:
|
47
|
+
specification_version: 4
|
49
48
|
summary: Fibonacci
|
50
|
-
test_files:
|
49
|
+
test_files:
|
50
|
+
- test/fibonacci_test.rb
|