EngineRuntimeDataTest.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * author: Patrick-Christopher Mattulat
  3. * e-mail: webmaster@lynarstudios.com
  4. */
  5. #include <cycle/EngineRuntimeData.hpp>
  6. #include <gmock/gmock.h>
  7. #include <gtest/gtest.h>
  8. #include <ls-std/core/exception/IllegalArgumentException.hpp>
  9. #include <test/cycle/mock/KeyboardMock.hpp>
  10. #include <test/cycle/mock/WindowApiEventManagerMock.hpp>
  11. #include <test/cycle/mock/WindowApiMock.hpp>
  12. using ls::atlantis::cycle::EngineRuntimeData;
  13. using ls::atlantis::cycle::test::KeyboardMock;
  14. using ls::atlantis::cycle::test::WindowApiEventManagerMock;
  15. using ls::atlantis::cycle::test::WindowApiMock;
  16. using ls::std::core::IllegalArgumentException;
  17. using ::std::make_shared;
  18. using ::std::shared_ptr;
  19. using ::testing::Test;
  20. namespace
  21. {
  22. class EngineRuntimeDataTest : public Test
  23. {
  24. public:
  25. EngineRuntimeDataTest() = default;
  26. ~EngineRuntimeDataTest() override = default;
  27. shared_ptr<KeyboardMock> keyboardMock = make_shared<KeyboardMock>();
  28. shared_ptr<WindowApiEventManagerMock> windowApiEventManagerMock = make_shared<WindowApiEventManagerMock>();
  29. shared_ptr<WindowApiMock> windowApiMock = make_shared<WindowApiMock>();
  30. };
  31. TEST_F(EngineRuntimeDataTest, setKeyboard_nullPointer)
  32. {
  33. ASSERT_THROW(EngineRuntimeData().setKeyboard(nullptr), IllegalArgumentException);
  34. }
  35. TEST_F(EngineRuntimeDataTest, getKeyboard)
  36. {
  37. EngineRuntimeData engineRuntimeData{};
  38. engineRuntimeData.setKeyboard(keyboardMock);
  39. ASSERT_EQ(keyboardMock, engineRuntimeData.getKeyboard());
  40. }
  41. TEST_F(EngineRuntimeDataTest, setWindowApiEventManager_nullPointer)
  42. {
  43. ASSERT_THROW(EngineRuntimeData().setWindowApiEventManager(nullptr), IllegalArgumentException);
  44. }
  45. TEST_F(EngineRuntimeDataTest, getWindowApiEventManager)
  46. {
  47. EngineRuntimeData engineRuntimeData{};
  48. engineRuntimeData.setWindowApiEventManager(windowApiEventManagerMock);
  49. ASSERT_EQ(windowApiEventManagerMock, engineRuntimeData.getWindowApiEventManager());
  50. }
  51. TEST_F(EngineRuntimeDataTest, setWindowApi_nullPointer)
  52. {
  53. ASSERT_THROW(EngineRuntimeData().setWindowApi(nullptr), IllegalArgumentException);
  54. }
  55. TEST_F(EngineRuntimeDataTest, getWindowApi)
  56. {
  57. EngineRuntimeData engineRuntimeData{};
  58. engineRuntimeData.setWindowApi(windowApiMock);
  59. ASSERT_EQ(windowApiMock, engineRuntimeData.getWindowApi());
  60. }
  61. }