diff --git a/tests/LinearAlgebra/Vector2Tests.cpp b/tests/LinearAlgebra/Vector2Tests.cpp index 8b217cb..938e52a 100644 --- a/tests/LinearAlgebra/Vector2Tests.cpp +++ b/tests/LinearAlgebra/Vector2Tests.cpp @@ -1,25 +1,103 @@ #include #include +using Vector2 = LinearAlgebra::Vector2; TEST(Vector2Test, V2_Constructor_Default) { - EXPECT_EQ(LinearAlgebra::Vector2(), LinearAlgebra::Vector2::Up); + EXPECT_EQ(Vector2(), Vector2::Zero); } -/* -TEST(Vector2Test, V2_Addition) { } -TEST(Vector2Test, V2_Subtraction) { } -TEST(Vector2Test, V2_Multiplication) { } -TEST(Vector2Test, V2_Division) { } -TEST(Vector2Test, V2_Equality) { } -TEST(Vector2Test, V2_Array_Operator_Indexing) { } -TEST(Vector2Test, V2_Normalize) { } -TEST(Vector2Test, V2_Dot) { } -TEST(Vector2Test, V2_Min) { } -TEST(Vector2Test, V2_Max) { } -TEST(Vector2Test, V2_Distance) { } -TEST(Vector2Test, V2_Length) { } -TEST(Vector2Test, V2_Clamp) { } +TEST(Vector2Test, V2_Constructor_XY) +{ + Vector2 vec {1, 0}; + EXPECT_EQ(vec, Vector2::Right); +} - */ \ No newline at end of file +TEST(Vector2Test, V2_Addition_Op) +{ + Vector2 A {1,1}; + Vector2 B {2,2}; + + Vector2 C {3, 3}; + + EXPECT_EQ(A+B, C); +} + +TEST(Vector2Test, V2_Subtraction_Op) +{ + Vector2 A {1,1}; + Vector2 B {2,2}; + + Vector2 C {-1, -1}; + + EXPECT_EQ(A-B, C); +} + +TEST(Vector2Test, V2_Scalar_Multiplication) +{ + Vector2 A {5, 1}; + float B = 0.5f; + Vector2 C = {2.5f, .5f}; + EXPECT_EQ(A*B, C); +} + +TEST(Vector2Test, V2_Size) +{ + EXPECT_EQ(sizeof(Vector2), 8); +} + +TEST(Vector2Test, V2_NaN) +{ + + EXPECT_NE(Vector2::Zero, Vector2::NaN); + EXPECT_NE(Vector2::Up, Vector2::NaN); + EXPECT_NE(Vector2::Left, Vector2::NaN); + EXPECT_NE(Vector2::Down, Vector2::NaN); + EXPECT_NE(Vector2::Right, Vector2::NaN); + EXPECT_NE(Vector2::NaN, Vector2::NaN); +} + +TEST(Vector2Test, V2_MarginOfError) +{ + Vector2 A {2,2}; + Vector2 B {1.85, 1.85}; + + EXPECT_TRUE(A.IsWithinMarginOfError(B, 0.5f)); +} + +TEST(Vector2Test, V2_Min) +{ + Vector2 A {2,2}; + Vector2 B {1.85, 1.85}; + + EXPECT_EQ( Vector2::Min(A, B), B); +} + +TEST(Vector2Test, V2_Max) +{ + Vector2 A {2,2}; + Vector2 B {1.85, 1.85}; + + EXPECT_EQ( Vector2::Max(A, B), A); +} + +TEST(Vector2Test, V2_Clamp) +{ + +} + +TEST(Vector2Test, V2_DotProduct) +{ + +} + +TEST(Vector2Test, V2_Project) +{ + +} + +TEST(Vector2Test, V2_Normalize) +{ + +} \ No newline at end of file