From 1a8ec165031af3b860028ef1b360acc8e7baf9e6 Mon Sep 17 00:00:00 2001 From: TravisBot <> Date: Thu, 21 Sep 2017 23:32:46 +0000 Subject: Rebuilding documentation --- tests/particlebodytest.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/particlebodytest.cpp (limited to 'tests/particlebodytest.cpp') diff --git a/tests/particlebodytest.cpp b/tests/particlebodytest.cpp new file mode 100644 index 00000000..4b8c92b2 --- /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(); +} -- cgit