From 660996bd750dbb5fcdce85845ee6b260f3ed23eb Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 9 Sep 2017 06:18:53 +0100 Subject: Renaming test to tests --- tests/matrixtest.cpp | 80 ++++++++++++++++++++++++++++++++++++++++++++++ tests/particlebodytest.cpp | 41 ++++++++++++++++++++++++ tests/windowtest.cpp | 21 ++++++++++++ tests/yagetest.cpp | 23 +++++++++++++ 4 files changed, 165 insertions(+) create mode 100644 tests/matrixtest.cpp create mode 100644 tests/particlebodytest.cpp create mode 100644 tests/windowtest.cpp create mode 100644 tests/yagetest.cpp (limited to 'tests') diff --git a/tests/matrixtest.cpp b/tests/matrixtest.cpp new file mode 100644 index 00000000..b570f6d4 --- /dev/null +++ b/tests/matrixtest.cpp @@ -0,0 +1,80 @@ +/* ---------------------------------------------------------------------------- + * matrixtest.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include +#include + +#include +#include +#include +#include + +template +int matrixAddition(int num1, int num2) +{ + yage::Matrix m1, m2; + m1[1][1] = num1; + m2[1][1] = num2; + + yage::Matrix m3 = m1 + m2; + + return m3[1][1]; +} + +int vectorDotProduct(const std::vector &vec_contents_f, + const std::vector &vec_contents_s) +{ + yage::Vector<3, int> v1(vec_contents_f); + yage::Vector<3, int> v2(vec_contents_s); + + int x = yage::matrix::dot(v1, v2); + + return x; +} + +bool matrixMultiplication() +{ + return false; +} + +// TESTS + +TEST(Matrix, Assign) +{ + double rand_num = rand(); + yage::Matrix<5, 5, double> mat1; + mat1[3][2] = rand_num; + ASSERT_EQ(rand_num, mat1[3][2]); + yage::Matrix<2, 2, double> mat2 {{rand_num, rand_num, rand_num, rand_num}}; + ASSERT_EQ(rand_num, mat2[1][0]); +} + +TEST(Matrix, Addition) +{ + int rand_x = rand(); + int rand_y = rand(); + ASSERT_EQ(rand_x + rand_y, matrixAddition<10>(rand_x, rand_y)); +} + +TEST(Vector, DotProduct) +{ + std::vector contents_i = {rand() % 100, rand() % 100, rand() % 100}; + std::vector contents_j = {rand() % 100, rand() % 100, rand() % 100}; + int sum = 0; + for (std::size_t i = 0; i < contents_i.size(); ++i) { + sum += contents_i[i] * contents_j[i]; + } + ASSERT_EQ(sum, vectorDotProduct(contents_i, contents_j)); +} + +int main(int argc, char **argv) +{ + srand(static_cast(time(nullptr))); + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/tests/particlebodytest.cpp b/tests/particlebodytest.cpp new file mode 100644 index 00000000..b359cb73 --- /dev/null +++ b/tests/particlebodytest.cpp @@ -0,0 +1,41 @@ +/* ---------------------------------------------------------------------------- + * rigidbodytest.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include +#include + +#include +#include + +double gravityAcceleration(int iterations) +{ + yage::ParticleBody body; + for (int i = 0; i < 60 * iterations; ++i) { + body.update(); + } + + return body.yPosition(); +} + +// Tests + +TEST(ParticleBody, Gravity) +{ + int randomItr = rand() % 10; + double idealPosition = 0.5 * -9.81 * std::pow(randomItr, 2); + + ASSERT_GE(idealPosition * 0.95, gravityAcceleration(randomItr)); + ASSERT_LE(idealPosition * 1.05, gravityAcceleration(randomItr)); +} + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + srand(static_cast(time(nullptr))); + return RUN_ALL_TESTS(); +} diff --git a/tests/windowtest.cpp b/tests/windowtest.cpp new file mode 100644 index 00000000..e6739720 --- /dev/null +++ b/tests/windowtest.cpp @@ -0,0 +1,21 @@ +/* ---------------------------------------------------------------------------- + * windowtest.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave + * MIT License, see LICENSE file for more details. + * ---------------------------------------------------------------------------- + */ + +#include +#include + +TEST(Window, Open) +{ + ASSERT_TRUE(true); +} + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/tests/yagetest.cpp b/tests/yagetest.cpp new file mode 100644 index 00000000..8d590b4a --- /dev/null +++ b/tests/yagetest.cpp @@ -0,0 +1,23 @@ +/* ---------------------------------------------------------------------------- + * yagetest.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include + +#include + +TEST(YAGE, InitQuit) +{ + ASSERT_TRUE(yage::init()); + yage::quit(); +} + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} -- cgit