diff --git a/Gemfile b/Gemfile index 2dac66f..af456cf 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,3 @@ source 'https://rubygems.org' -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..34a698b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - diff-lcs (1.2.5) + diff-lcs (1.3) rspec (3.0.0) rspec-core (~> 3.0.0) rspec-expectations (~> 3.0.0) @@ -16,7 +16,10 @@ GEM rspec-support (3.0.4) PLATFORMS - ruby + x86-mingw32 DEPENDENCIES rspec (~> 3.0.0.beta2) + +BUNDLED WITH + 1.14.4 diff --git a/lib/deaf_grandma.rb b/lib/deaf_grandma.rb index 83ad52a..11c9d7a 100644 --- a/lib/deaf_grandma.rb +++ b/lib/deaf_grandma.rb @@ -1,7 +1,4 @@ -#This script is different than FizzBuzz. It should accept user input from the terminal if done correctly. Run it to see what it does then complete the speak method so that it returns & prints the correct thing. - -#CAREFUL! This script will not exit. Do you know why? You may have to close it with `Ctrl-C` (Mac) if you do not insert an `exit` into your speak method. - +# Solution to rspec file class DeafGrandma def initialize @@ -19,9 +16,17 @@ def run! def speak(input) + "SPEAK UP SONNY!" + end - #Implement your code here <<<<<<<<< - + def YELL(input) + @bye_counter += 1 if input.casecmp('bye').zero? + if @bye_counter <= 2 + "NOT SINCE 1964!" + else + @bye_counter = 0 + "SEE YOU LATER SONNY!" + end end private @@ -35,7 +40,4 @@ def get_user_input gets.chomp end -end - -#Uncomment this next line to run your script but BE SURE to comment it, before you try and run your tests. -#DeafGrandma.new.run! +end \ No newline at end of file diff --git a/lib/fizzbuzz.rb b/lib/fizzbuzz.rb index 86f9def..038aac5 100644 --- a/lib/fizzbuzz.rb +++ b/lib/fizzbuzz.rb @@ -1,13 +1,10 @@ +# class to pass fizzbuzz spec class SuperFizzBuzz - def run(input) - - #Implement your code here - + output = '' + output = input unless (input % 3).zero? || (input % 5).zero? + output << 'Fizz' if (input % 3).zero? + output << 'Buzz' if (input % 5).zero? + output end - -end - -#You don't necessarily need to execute this script to complete this challenge, but how would you "run" this method (pun intended) so that it printed a value to the terminal? -# -#HINT: it's an instance method. +end \ No newline at end of file diff --git a/spec/deaf_grandma_spec.rb b/spec/deaf_grandma_spec.rb index cf09766..38e43a9 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.YELL("Something")).to eq "NOT SINCE 1964!" end it "EXTRA CREDIT: How would you test yelling BYE?" do - #implement your test here + expect(script.YELL("Bye")).to eq "NOT SINCE 1964!" + expect(script.YELL("Bye")).to eq "NOT SINCE 1964!" + expect(script.YELL("Bye")).to eq "SEE YOU LATER SONNY!" end end diff --git a/spec/fizzbuzz_spec.rb b/spec/fizzbuzz_spec.rb index cfda46b..7ac07d1 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(4)).to eq 4 end end