fizz-buzz 0.4.0 → 0.5.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.
- data/VERSION +1 -1
- data/fizz-buzz.gemspec +2 -2
- data/lib/fizz-buzz.rb +14 -12
- data/test/test_fizz-buzz.rb +22 -22
- metadata +11 -11
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/fizz-buzz.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fizz-buzz}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kerri Miller"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2012-01-11}
|
13
13
|
s.description = %q{I got sick of doing this test in interviews, so next time someone asks me to do so, I'm going to instead hand them a business card with a URL for this gem on it.}
|
14
14
|
s.email = %q{kerrizor@kerrizor.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/fizz-buzz.rb
CHANGED
@@ -1,12 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# Returns an array solving the classic 1 to 100 FizzBuzz problem.
|
4
|
-
def crunch(start=1, stop=100)
|
5
|
-
return nil unless start < stop
|
6
|
-
|
1
|
+
module FizzBuzz
|
2
|
+
def fizzbuzz
|
7
3
|
return_values = Array.new
|
8
4
|
|
9
|
-
|
5
|
+
self.each do |n|
|
10
6
|
if n.fizzbuzz?
|
11
7
|
return_values << "FizzBuzz"
|
12
8
|
elsif n.buzz?
|
@@ -23,7 +19,7 @@ class FizzBuzz
|
|
23
19
|
end
|
24
20
|
|
25
21
|
|
26
|
-
module
|
22
|
+
module FizzBuzzNumerics
|
27
23
|
# For testing the Fizz-, Buzz-, or Fizzbuzz-ness of a Fixnum
|
28
24
|
# 3.fizz? # => true
|
29
25
|
# 3.buzz? # => false
|
@@ -45,13 +41,19 @@ module FizzBuzziness
|
|
45
41
|
end
|
46
42
|
|
47
43
|
|
48
|
-
class
|
49
|
-
include
|
44
|
+
class Range
|
45
|
+
include FizzBuzz
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
class Array
|
50
|
+
include FizzBuzz
|
50
51
|
end
|
51
52
|
|
52
53
|
|
53
|
-
class
|
54
|
-
include
|
54
|
+
class Numeric
|
55
|
+
include FizzBuzzNumerics
|
55
56
|
end
|
56
57
|
|
57
58
|
|
59
|
+
|
data/test/test_fizz-buzz.rb
CHANGED
@@ -2,36 +2,36 @@ require 'helper'
|
|
2
2
|
|
3
3
|
class TestFizzBuzz < Test::Unit::TestCase
|
4
4
|
|
5
|
-
def test_new_fizzbuzz
|
6
|
-
assert_instance_of FizzBuzz, FizzBuzz.new
|
7
|
-
end
|
8
|
-
|
9
|
-
|
10
5
|
def setup
|
11
|
-
@
|
6
|
+
@fizzbuzz_range = (1..100).fizzbuzz
|
7
|
+
@fizzbuzz_array = Array(1..100).fizzbuzz
|
12
8
|
end
|
13
9
|
|
10
|
+
def test_generic_fizzbuzz
|
11
|
+
assert_respond_to Array.new, :fizzbuzz
|
12
|
+
assert_respond_to Numeric.new, :fizz?
|
13
|
+
end
|
14
14
|
|
15
|
-
def
|
16
|
-
assert_respond_to @
|
17
|
-
assert_kind_of Array, @
|
15
|
+
def test_fizzbuzz_range
|
16
|
+
assert_respond_to @fizzbuzz_range, :fizzbuzz
|
17
|
+
assert_kind_of Array, @fizzbuzz_range
|
18
18
|
|
19
|
-
assert_equal 100, @
|
20
|
-
assert_equal "Fizz", @
|
21
|
-
assert_equal "4", @
|
22
|
-
assert_equal "Buzz", @
|
23
|
-
assert_equal "FizzBuzz", @
|
19
|
+
assert_equal 100, @fizzbuzz_range.length
|
20
|
+
assert_equal "Fizz", @fizzbuzz_range[2]
|
21
|
+
assert_equal "4", @fizzbuzz_range[3].to_s
|
22
|
+
assert_equal "Buzz", @fizzbuzz_range[4]
|
23
|
+
assert_equal "FizzBuzz", @fizzbuzz_range[14]
|
24
24
|
end
|
25
25
|
|
26
|
+
def test_fizzbuzz_array
|
27
|
+
assert_respond_to @fizzbuzz_array, :fizzbuzz
|
28
|
+
assert_kind_of Array, @fizzbuzz_array
|
26
29
|
|
27
|
-
|
28
|
-
assert_equal
|
29
|
-
assert_equal "
|
30
|
-
assert_equal "
|
31
|
-
assert_equal "
|
32
|
-
assert_equal "FizzBuzz", @fizzbuzz.crunch(4,17)[11]
|
33
|
-
|
34
|
-
assert_nil @fizzbuzz.crunch(44,17)
|
30
|
+
assert_equal 100, @fizzbuzz_array.length
|
31
|
+
assert_equal "Fizz", @fizzbuzz_array[2]
|
32
|
+
assert_equal "4", @fizzbuzz_array[3].to_s
|
33
|
+
assert_equal "Buzz", @fizzbuzz_array[4]
|
34
|
+
assert_equal "FizzBuzz", @fizzbuzz_array[14]
|
35
35
|
end
|
36
36
|
|
37
37
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fizz-buzz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-11 00:00:00.000000000 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: shoulda
|
17
|
-
requirement: &
|
17
|
+
requirement: &2167207300 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2167207300
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
28
|
-
requirement: &
|
28
|
+
requirement: &2167206820 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2167206820
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: jeweler
|
39
|
-
requirement: &
|
39
|
+
requirement: &2167206340 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.6.4
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2167206340
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rcov
|
50
|
-
requirement: &
|
50
|
+
requirement: &2167205860 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2167205860
|
59
59
|
description: I got sick of doing this test in interviews, so next time someone asks
|
60
60
|
me to do so, I'm going to instead hand them a business card with a URL for this
|
61
61
|
gem on it.
|
@@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
94
|
version: '0'
|
95
95
|
segments:
|
96
96
|
- 0
|
97
|
-
hash:
|
97
|
+
hash: 2225280517144778850
|
98
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
99
|
none: false
|
100
100
|
requirements:
|