VectorTests.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  2. // SPDX-License-Identifier: MIT
  3. #include "UnitTestFramework.h"
  4. #include <Jolt/Math/Vector.h>
  5. TEST_SUITE("VectorTests")
  6. {
  7. TEST_CASE("TestVectorMultiplyFloat")
  8. {
  9. Vector<5> v;
  10. v[0] = 1;
  11. v[1] = 2;
  12. v[2] = 3;
  13. v[3] = 4;
  14. v[4] = 5;
  15. Vector<5> v2 = v * 2;
  16. CHECK(v2[0] == 2.0f);
  17. CHECK(v2[1] == 4.0f);
  18. CHECK(v2[2] == 6.0f);
  19. CHECK(v2[3] == 8.0f);
  20. CHECK(v2[4] == 10.0f);
  21. }
  22. TEST_CASE("TestVectorAdd")
  23. {
  24. Vector<5> v1 = Vector<5>::sZero();
  25. Vector<5> v2 = Vector<5>::sZero();
  26. v1[0] = 1;
  27. v2[0] = 2;
  28. v1[4] = 5;
  29. Vector<5> v3 = v1 + v2;
  30. CHECK(v3[0] == 3.0f);
  31. CHECK(v3[1] == 0.0f);
  32. CHECK(v3[2] == 0.0f);
  33. CHECK(v3[3] == 0.0f);
  34. CHECK(v3[4] == 5.0f);
  35. }
  36. TEST_CASE("TestVectorNegate")
  37. {
  38. Vector<5> v;
  39. v[0] = 1;
  40. v[1] = 2;
  41. v[2] = 3;
  42. v[3] = 4;
  43. v[4] = 5;
  44. Vector<5> v2 = -v;
  45. CHECK(v2[0] == -1.0f);
  46. CHECK(v2[1] == -2.0f);
  47. CHECK(v2[2] == -3.0f);
  48. CHECK(v2[3] == -4.0f);
  49. CHECK(v2[4] == -5.0f);
  50. }
  51. TEST_CASE("TestVectorLength")
  52. {
  53. Vector<5> v;
  54. v[0] = 1;
  55. v[1] = 2;
  56. v[2] = 3;
  57. v[3] = 4;
  58. v[4] = 5;
  59. CHECK(v.LengthSq() == float(1 + 4 + 9 + 16 + 25));
  60. }
  61. }