BooleanTest.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2020-08-09
  6. * Changed: 2020-08-09
  7. *
  8. * */
  9. #include <gtest/gtest.h>
  10. #include "../../../source/boxing/Boolean.hpp"
  11. namespace {
  12. class BooleanTest : public ::testing::Test {
  13. protected:
  14. BooleanTest() = default;
  15. ~BooleanTest() override = default;
  16. void SetUp() override
  17. {}
  18. void TearDown() override
  19. {}
  20. };
  21. TEST_F(BooleanTest, operatorOutputStream)
  22. {
  23. ls_std::Boolean expression {true};
  24. std::ostringstream _stream {};
  25. _stream << expression;
  26. ASSERT_STREQ("true", _stream.str().c_str());
  27. }
  28. TEST_F(BooleanTest, parse)
  29. {
  30. ls_std::Boolean expression {};
  31. expression.parse("true");
  32. ASSERT_TRUE(expression);
  33. expression.parse("tRue");
  34. ASSERT_TRUE(expression);
  35. expression.parse("TRUE");
  36. ASSERT_TRUE(expression);
  37. }
  38. TEST_F(BooleanTest, parseNegative)
  39. {
  40. ls_std::Boolean expression {};
  41. expression.parse("false");
  42. ASSERT_FALSE(expression);
  43. expression.parse("fAlSe");
  44. ASSERT_FALSE(expression);
  45. expression.parse("FALSE");
  46. ASSERT_FALSE(expression);
  47. }
  48. }