exercism/cpp/bob/bob_test.cpp

91 lines
2.4 KiB
C++

#include "bob.h"
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(stating_something)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey("Tom-ay-to, tom-aaaah-to."));
}
#if defined(EXERCISM_RUN_ALL_TESTS)
BOOST_AUTO_TEST_CASE(shouting)
{
BOOST_REQUIRE_EQUAL("Whoa, chill out!", bob::hey("WATCH OUT!"));
}
BOOST_AUTO_TEST_CASE(asking_a_question)
{
BOOST_REQUIRE_EQUAL("Sure.", bob::hey("Does this cryogenic chamber make me look fat?"));
}
BOOST_AUTO_TEST_CASE(talking_forcefully)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey("Let's go make out behind the gym!"));
}
BOOST_AUTO_TEST_CASE(using_acronyms_in_regular_speech)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey("It's OK if you don't want to go to the DMV."));
}
BOOST_AUTO_TEST_CASE(forceful_questions)
{
BOOST_REQUIRE_EQUAL("Whoa, chill out!", bob::hey("WHAT THE HELL WERE YOU THINKING?"));
}
BOOST_AUTO_TEST_CASE(shouting_numbers)
{
BOOST_REQUIRE_EQUAL("Whoa, chill out!", bob::hey("1, 2, 3 GO!"));
}
BOOST_AUTO_TEST_CASE(only_numbers)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey("1, 2, 3"));
}
BOOST_AUTO_TEST_CASE(question_with_only_numbers)
{
BOOST_REQUIRE_EQUAL("Sure.", bob::hey("4?"));
}
BOOST_AUTO_TEST_CASE(shouting_with_special_characters)
{
BOOST_REQUIRE_EQUAL("Whoa, chill out!", bob::hey("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"));
}
BOOST_AUTO_TEST_CASE(shouting_with_no_exclamation_mark)
{
BOOST_REQUIRE_EQUAL("Whoa, chill out!", bob::hey("I HATE YOU"));
}
BOOST_AUTO_TEST_CASE(statement_containing_question_mark)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey("Ending with a ? means a question."));
}
BOOST_AUTO_TEST_CASE(prattling_on)
{
BOOST_REQUIRE_EQUAL("Sure.", bob::hey("Wait! Hang on. Are you going to be OK?"));
}
BOOST_AUTO_TEST_CASE(question_with_trailing_whitespace)
{
BOOST_REQUIRE_EQUAL("Sure.", bob::hey("Are you ok? "));
}
BOOST_AUTO_TEST_CASE(silence)
{
BOOST_REQUIRE_EQUAL("Fine. Be that way!", bob::hey(""));
}
BOOST_AUTO_TEST_CASE(prolonged_silence)
{
BOOST_REQUIRE_EQUAL("Fine. Be that way!", bob::hey(" "));
}
BOOST_AUTO_TEST_CASE(not_all_silence)
{
BOOST_REQUIRE_EQUAL("Whatever.", bob::hey(" A bit of silence can be nice. "));
}
#endif