Vector2Test.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2022-08-05
  6. * Changed: 2022-08-05
  7. *
  8. * */
  9. #include <gtest/gtest.h>
  10. #include <ls-math/ls_math_vector.hpp>
  11. using namespace ls::math::vector;
  12. using namespace ls::math::core::type;
  13. namespace
  14. {
  15. class Vector2Test : public ::testing::Test
  16. {
  17. protected:
  18. Vector2Test() = default;
  19. ~Vector2Test() override = default;
  20. void SetUp() override
  21. {}
  22. void TearDown() override
  23. {}
  24. };
  25. TEST_F(Vector2Test, operator_addition)
  26. {
  27. Vector2 c = Vector2(3, 4) + Vector2(5, 3);
  28. ASSERT_FLOAT_EQ(8, c.getX());
  29. ASSERT_FLOAT_EQ(7, c.getY());
  30. }
  31. TEST_F(Vector2Test, operator_substraction)
  32. {
  33. Vector2 c = Vector2(3, 4) - Vector2(5, 3);
  34. ASSERT_FLOAT_EQ(-2, c.getX());
  35. ASSERT_FLOAT_EQ(1, c.getY());
  36. }
  37. TEST_F(Vector2Test, operator_scalar)
  38. {
  39. vector_scalar scalar = Vector2(3, 4) * Vector2(5, 3);
  40. ASSERT_FLOAT_EQ(27, scalar);
  41. }
  42. TEST_F(Vector2Test, operator_multiplicator)
  43. {
  44. Vector2 c = Vector2(3, 4) * 1.5f;
  45. ASSERT_FLOAT_EQ(4.5f, c.getX());
  46. ASSERT_FLOAT_EQ(6.0f, c.getY());
  47. }
  48. TEST_F(Vector2Test, getX)
  49. {
  50. Vector2 a{3, 4};
  51. ASSERT_FLOAT_EQ(3, a.getX());
  52. }
  53. TEST_F(Vector2Test, getY)
  54. {
  55. Vector2 a{3, 4};
  56. ASSERT_FLOAT_EQ(4, a.getY());
  57. }
  58. TEST_F(Vector2Test, setX)
  59. {
  60. Vector2 a{3, 4};
  61. a.setX(14);
  62. ASSERT_FLOAT_EQ(14, a.getX());
  63. }
  64. TEST_F(Vector2Test, setY)
  65. {
  66. Vector2 a{3, 4};
  67. a.setY(8);
  68. ASSERT_FLOAT_EQ(8, a.getY());
  69. }
  70. }