module BobTest open NUnit.Framework open Bob [] let ``Stating something`` () = Assert.That(hey "Tom-ay-to, tom-aaaah-to.", Is.EqualTo("Whatever.")) [] [] let ``Shouting`` () = Assert.That(hey "WATCH OUT!", Is.EqualTo("Whoa, chill out!")) [] [] let ``Asking a question`` () = Assert.That(hey "Does this cryogenic chamber make me look fat?", Is.EqualTo("Sure.")) [] [] let ``Asking a numeric question`` () = Assert.That(hey "You are, what, like 15?", Is.EqualTo("Sure.")) [] [] let ``Forceful questions`` () = Assert.That(hey "WHAT THE HELL WERE YOU THINKING?", Is.EqualTo("Whoa, chill out!")) [] [] let ``Shouting numbers`` () = Assert.That(hey "1, 2, 3 GO!", Is.EqualTo("Whoa, chill out!")) [] [] let ``Only numbers`` () = Assert.That(hey "1, 2, 3", Is.EqualTo("Whatever.")) [] [] let ``Question only with numbers`` () = Assert.That(hey "4?", Is.EqualTo("Sure.")) [] [] let ``Shouting with special characters`` () = Assert.That(hey "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!", Is.EqualTo("Whoa, chill out!")) [] [] let ``Shouting with no exlamation mark`` () = Assert.That(hey "I HATE YOU", Is.EqualTo("Whoa, chill out!")) [] [] let ``Statement containing question mark`` () = Assert.That(hey "Ending with ? means a question.", Is.EqualTo("Whatever.")) [] [] let ``Prattling on`` () = Assert.That(hey "Wait! Hang on. Are you going to be OK?", Is.EqualTo("Sure.")) [] [] let ``Silence`` () = Assert.That(hey "", Is.EqualTo("Fine. Be that way!")) [] [] let ``Prolonged silence`` () = Assert.That(hey " ", Is.EqualTo("Fine. Be that way!")) [] [] let ``Multiple line question`` () = Assert.That(hey "Does this cryogenic chamber make me look fat?\nno", Is.EqualTo("Whatever."))