ClassTest.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Co-Author: Claude Sonnet 4.6 (LLM)
  4. * Company: Lynar Studios
  5. * E-Mail: webmaster@lynarstudios.com
  6. * Created: 2020-08-16
  7. * Changed: 2026-06-23
  8. *
  9. * */
  10. #include <gtest/gtest.h>
  11. #include <ls-std-core-test.hpp>
  12. #include <ls-std/ls-std-core.hpp>
  13. using ls::standard::core::Class;
  14. using ls::standard::core::IllegalArgumentException;
  15. using std::make_shared;
  16. using std::shared_ptr;
  17. using test::core::ClassWrapper;
  18. using testing::Test;
  19. namespace
  20. {
  21. class ClassTest : public Test
  22. {
  23. public:
  24. ClassTest() = default;
  25. ~ClassTest() override = default;
  26. };
  27. TEST_F(ClassTest, constructor_empty_parameter)
  28. {
  29. EXPECT_THROW(
  30. {
  31. try
  32. {
  33. Class object{""};
  34. }
  35. catch (const IllegalArgumentException &_exception)
  36. {
  37. throw;
  38. }
  39. },
  40. IllegalArgumentException);
  41. }
  42. TEST_F(ClassTest, destructor)
  43. {
  44. const auto object = make_shared<ClassWrapper>();
  45. EXPECT_CALL(*object, Die());
  46. }
  47. TEST_F(ClassTest, getClassName)
  48. {
  49. const Class object{"Class"};
  50. ASSERT_STREQ("Class", object.getClassName().c_str());
  51. }
  52. }