diff --git a/Gemfile b/Gemfile index 2dac66f..d684e12 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source 'https://rubygems.org' -ruby '2.0.0' +ruby '>= 2.0.0' gem 'rspec', '~> 3.0.0.beta2' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index dfd2ba5..4477308 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -20,3 +20,9 @@ PLATFORMS DEPENDENCIES rspec (~> 3.0.0.beta2) + +RUBY VERSION + ruby 2.2.9p480 + +BUNDLED WITH + 1.16.1 diff --git a/README.md b/README.md index 7fb2718..0c4f90b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Enjoy! ## Super Fizz Buzz Instructions -Clone the repository, navigate to the project directory and run `rspec spec/fizzbuzz_spec.rb`. If you're using RubyMine, you may have to complete different steps to run the tests. When you run the tests, they should initially fail. Your goal is to make the tests pass by modifying the `run` method in the `lib/fizz_buzz.rb` file. It should accept a number and return the following: +Clone the repository, navigate to the project directory and run `bundle exec rspec spec/fizzbuzz_spec.rb`. If you're using RubyMine, you may have to complete different steps to run the tests. When you run the tests, they should initially fail. Your goal is to make the tests pass by modifying the `run` method in the `lib/fizz_buzz.rb` file. It should accept a number and return the following: - Return "Fizz" if the number is divisible by 3 - Return "Buzz" if the number is divisible by 5 diff --git a/lib/deaf_grandma.rb b/lib/deaf_grandma.rb index 83ad52a..473bf63 100644 --- a/lib/deaf_grandma.rb +++ b/lib/deaf_grandma.rb @@ -19,9 +19,17 @@ def run! def speak(input) + said_bye = input.start_with?("BYE") - #Implement your code here <<<<<<<<< + @bye_counter += 1 if said_bye + if said_bye && @bye_counter > 2 + "BYE!" + elsif input == input.upcase + "NOT SINCE 1964!" + else + "SPEAK UP SONNY!" + end end private diff --git a/lib/fizzbuzz.rb b/lib/fizzbuzz.rb index 86f9def..351651f 100644 --- a/lib/fizzbuzz.rb +++ b/lib/fizzbuzz.rb @@ -1,9 +1,15 @@ class SuperFizzBuzz def run(input) - - #Implement your code here - + if input % 5 == 0 && input % 3 == 0 + "FizzBuzz" + elsif input % 3 == 0 + "Fizz" + elsif input % 5 == 0 + "Buzz" + else + input # return the original number if not divisible by either + end end end diff --git a/spec/deaf_grandma_spec.rb b/spec/deaf_grandma_spec.rb index cf09766..f9f374f 100644 --- a/spec/deaf_grandma_spec.rb +++ b/spec/deaf_grandma_spec.rb @@ -9,10 +9,12 @@ end it "says 'NOT SINCE 1964!' when we yell" do - #implement your test here + expect(script.speak("HI GRANDMA")).to eq "NOT SINCE 1964!" end it "EXTRA CREDIT: How would you test yelling BYE?" do - #implement your test here + expect(script.speak("BYE!")).to eq "NOT SINCE 1964!" + expect(script.speak("BYE!")).to eq "NOT SINCE 1964!" + expect(script.speak("BYE!")).to eq "BYE!" end end diff --git a/spec/fizzbuzz_spec.rb b/spec/fizzbuzz_spec.rb index cfda46b..a78aa0a 100644 --- a/spec/fizzbuzz_spec.rb +++ b/spec/fizzbuzz_spec.rb @@ -9,14 +9,14 @@ end it "returns 'Buzz' when my input is divisible by 5" do - #implement your test here + expect(script.run(5)).to eq "Buzz" end it "returns 'FizzBuzz' when input is divisible by 3 & 5" do - #implement your test here + expect(script.run(15)).to eq "FizzBuzz" end it "returns the input number when input isn't divisible by 3, 5, or both" do - #implement your test here + expect(script.run(7)).to eq 7 end end