EngineRuntimeDataTest.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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/WindowApiMock.hpp>
  11. using ls::atlantis::cycle::EngineRuntimeData;
  12. using ls::atlantis::cycle::test::KeyboardMock;
  13. using ls::atlantis::cycle::test::WindowApiMock;
  14. using ls::std::core::IllegalArgumentException;
  15. using ::std::make_shared;
  16. using ::std::shared_ptr;
  17. using ::testing::Test;
  18. namespace
  19. {
  20. class EngineRuntimeDataTest : public Test
  21. {
  22. public:
  23. EngineRuntimeDataTest() = default;
  24. ~EngineRuntimeDataTest() override = default;
  25. shared_ptr<KeyboardMock> keyboardMock = make_shared<KeyboardMock>();
  26. shared_ptr<WindowApiMock> windowApiMock = make_shared<WindowApiMock>();
  27. };
  28. TEST_F(EngineRuntimeDataTest, setKeyboard_nullPointer)
  29. {
  30. ASSERT_THROW(EngineRuntimeData().setKeyboard(nullptr), IllegalArgumentException);
  31. }
  32. TEST_F(EngineRuntimeDataTest, getKeyboard)
  33. {
  34. EngineRuntimeData engineRuntimeData{};
  35. engineRuntimeData.setKeyboard(keyboardMock);
  36. ASSERT_EQ(keyboardMock, engineRuntimeData.getKeyboard());
  37. }
  38. TEST_F(EngineRuntimeDataTest, setWindowApi_nullPointer)
  39. {
  40. ASSERT_THROW(EngineRuntimeData().setWindowApi(nullptr), IllegalArgumentException);
  41. }
  42. TEST_F(EngineRuntimeDataTest, getWindowApi)
  43. {
  44. EngineRuntimeData engineRuntimeData{};
  45. engineRuntimeData.setWindowApi(windowApiMock);
  46. ASSERT_EQ(windowApiMock, engineRuntimeData.getWindowApi());
  47. }
  48. }