diff --git a/lib/deaf_grandma.rb b/lib/deaf_grandma.rb index 83ad52a..bdf59d4 100644 --- a/lib/deaf_grandma.rb +++ b/lib/deaf_grandma.rb @@ -5,7 +5,8 @@ class DeafGrandma def initialize - @bye_counter = 0 + @bye_counter = 0 + @exit = false end def run! @@ -14,13 +15,25 @@ def run! loop do user_input = get_user_input p speak(user_input) + break if @exit end end def speak(input) - - #Implement your code here <<<<<<<<< + if input == "BYE" + @bye_counter += 1 + if @bye_counter == 3 + @exit = true + return "SEE YOU LATER SONNY!" + end + end + + if input == input.upcase + return "NOT SINCE 1964!" + else + return "SPEAK UP SONNY!" + end end diff --git a/lib/fizzbuzz.rb b/lib/fizzbuzz.rb index 86f9def..dd55eb8 100644 --- a/lib/fizzbuzz.rb +++ b/lib/fizzbuzz.rb @@ -2,7 +2,14 @@ class SuperFizzBuzz def run(input) - #Implement your code here + result = "" + result += "Fizz" if input % 3 == 0 + result += "Buzz" if input % 5 == 0 + if result == "" + return input + else + return result + end end diff --git a/spec/deaf_grandma_spec.rb b/spec/deaf_grandma_spec.rb index cf09766..dcc314d 100644 --- a/spec/deaf_grandma_spec.rb +++ b/spec/deaf_grandma_spec.rb @@ -9,10 +9,11 @@ end it "says 'NOT SINCE 1964!' when we yell" do - #implement your test here + expect(script.speak("YELL")).to eq "NOT SINCE 1964!" end it "EXTRA CREDIT: How would you test yelling BYE?" do - #implement your test here + [1,2].each{ |i| script.speak("BYE")} + expect(script.speak("BYE")).to eq "SEE YOU LATER SONNY!" end end diff --git a/spec/fizzbuzz_spec.rb b/spec/fizzbuzz_spec.rb index cfda46b..0a2affd 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(2)).to eq 2 end end