require 'minitest/autorun' require_relative 'bob' # Common test data version: 1.3.0 a64ef34 class BobTest < Minitest::Test def test_stating_something # skip remark = "Tom-ay-to, tom-aaaah-to." assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "Tom-ay-to, tom-aaaah-to.", and..} end def test_shouting # skip remark = "WATCH OUT!" assert_equal "Whoa, chill out!", Bob.hey(remark), %q{Bob hears "WATCH OUT!", and..} end def test_shouting_gibberish # skip remark = "FCECDFCAAB" assert_equal "Whoa, chill out!", Bob.hey(remark), %q{Bob hears "FCECDFCAAB", and..} end def test_asking_a_question # skip remark = "Does this cryogenic chamber make me look fat?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "Does this cryogenic chamber make me look fat?", and..} end def test_asking_a_numeric_question # skip remark = "You are, what, like 15?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "You are, what, like 15?", and..} end def test_asking_gibberish # skip remark = "fffbbcbeab?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "fffbbcbeab?", and..} end def test_talking_forcefully # skip remark = "Let's go make out behind the gym!" assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "Let's go make out behind the gym!", and..} end def test_using_acronyms_in_regular_speech # skip remark = "It's OK if you don't want to go to the DMV." assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "It's OK if you don't want to go to the DMV.", and..} end def test_forceful_question # skip remark = "WHAT THE HELL WERE YOU THINKING?" assert_equal "Calm down, I know what I'm doing!", Bob.hey(remark), %q{Bob hears "WHAT THE HELL WERE YOU THINKING?", and..} end def test_shouting_numbers # skip remark = "1, 2, 3 GO!" assert_equal "Whoa, chill out!", Bob.hey(remark), %q{Bob hears "1, 2, 3 GO!", and..} end def test_no_letters # skip remark = "1, 2, 3" assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "1, 2, 3", and..} end def test_question_with_no_letters # skip remark = "4?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "4?", and..} end def test_shouting_with_special_characters # skip remark = "ZOMG THE %^*@\#$(*^ ZOMBIES ARE COMING!!11!!1!" assert_equal "Whoa, chill out!", Bob.hey(remark), %q{Bob hears "ZOMG THE %^*@\#$(*^ ZOMBIES ARE COMING!!11!!1!", and..} end def test_shouting_with_no_exclamation_mark # skip remark = "I HATE THE DMV" assert_equal "Whoa, chill out!", Bob.hey(remark), %q{Bob hears "I HATE THE DMV", and..} end def test_statement_containing_question_mark # skip remark = "Ending with ? means a question." assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "Ending with ? means a question.", and..} end def test_non_letters_with_question # skip remark = ":) ?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears ":) ?", and..} end def test_prattling_on # skip remark = "Wait! Hang on. Are you going to be OK?" assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "Wait! Hang on. Are you going to be OK?", and..} end def test_silence # skip remark = "" assert_equal "Fine. Be that way!", Bob.hey(remark), %q{Bob hears "", and..} end def test_prolonged_silence # skip remark = " " assert_equal "Fine. Be that way!", Bob.hey(remark), %q{Bob hears " ", and..} end def test_alternate_silence # skip remark = "\t\t\t\t\t\t\t\t\t\t" assert_equal "Fine. Be that way!", Bob.hey(remark), %q{Bob hears "\t\t\t\t\t\t\t\t\t\t", and..} end def test_multiple_line_question # skip remark = "\nDoes this cryogenic chamber make me look fat?\nno" assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "\nDoes this cryogenic chamber make me look fat?\nno", and..} end def test_starting_with_whitespace # skip remark = " hmmmmmmm..." assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears " hmmmmmmm...", and..} end def test_ending_with_whitespace # skip remark = "Okay if like my spacebar quite a bit? " assert_equal "Sure.", Bob.hey(remark), %q{Bob hears "Okay if like my spacebar quite a bit? ", and..} end def test_other_whitespace # skip remark = "\n\r \t" assert_equal "Fine. Be that way!", Bob.hey(remark), %q{Bob hears "\n\r \t", and..} end def test_non_question_ending_with_whitespace # skip remark = "This is a statement ending with whitespace " assert_equal "Whatever.", Bob.hey(remark), %q{Bob hears "This is a statement ending with whitespace ", and..} end end