diff --git a/CMakeLists.txt b/CMakeLists.txt index 2642b3ab..2371cd9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,7 +71,7 @@ add_executable(unit_tests EXCLUDE_FROM_ALL tests/MainTest.cpp tests/EngineTests.cpp tests/CallbackTest.cpp -) + tests/MoveTests.cpp) target_include_directories(unit_tests PUBLIC sources) target_link_libraries(unit_tests PUBLIC wal ray) diff --git a/sources/Runner/Runner.cpp b/sources/Runner/Runner.cpp index f6d9439e..c6a6c196 100644 --- a/sources/Runner/Runner.cpp +++ b/sources/Runner/Runner.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "Models/Vector2.hpp" #include "Component/Renderer/CameraComponent.hpp" #include "Runner.hpp" @@ -40,6 +41,7 @@ namespace BBM void addSystems(WAL::Wal &wal) { wal.addSystem() + .addSystem() .addSystem() .addSystem(); } diff --git a/sources/System/Gamepad/GamepadSystem.cpp b/sources/System/Gamepad/GamepadSystem.cpp index 03851be2..5df6bd96 100644 --- a/sources/System/Gamepad/GamepadSystem.cpp +++ b/sources/System/Gamepad/GamepadSystem.cpp @@ -1,6 +1,5 @@ // -// Created by Tom Augier on 2021-05-20. -// Edited by Benjamin Henry on 2021-05-20. +// Created by Arthur Jamet on 2021-05-31. // #include "GamepadSystem.hpp" diff --git a/sources/System/Gamepad/GamepadSystem.hpp b/sources/System/Gamepad/GamepadSystem.hpp index 775248c1..9c8c705f 100644 --- a/sources/System/Gamepad/GamepadSystem.hpp +++ b/sources/System/Gamepad/GamepadSystem.hpp @@ -1,6 +1,5 @@ // -// Created by Tom Augier on 2021-05-20. -// Edited by Benjamin Henry on 2021-05-20. +// Created by Arthur Jamet on 2021-05-31. // #pragma once diff --git a/tests/MoveTests.cpp b/tests/MoveTests.cpp new file mode 100644 index 00000000..cd37d22a --- /dev/null +++ b/tests/MoveTests.cpp @@ -0,0 +1,51 @@ +// +// Created by Zoe Roux on 5/31/21. +// + +#include "Entity/Entity.hpp" +#include "Component/Position/PositionComponent.hpp" +#include "System/Movable/MovableSystem.hpp" +#include "System/Controllable/ControllableSystem.hpp" +#include +#include +#include + +#define private public +#include + +using namespace WAL; +using namespace BBM; + + +TEST_CASE("Move test", "[Component][System]") +{ + Scene scene; + scene.addEntity("player") + .addComponent() + .addComponent() + .addComponent(); + Entity &entity = scene.getEntities()[0]; + + REQUIRE(entity.getComponent().position == Vector3f()); + + entity.getComponent().move = Vector2f(1, 1); + + ControllableSystem controllable; + controllable.onUpdate(entity, std::chrono::nanoseconds(1)); + controllable.onFixedUpdate(entity); + REQUIRE(entity.getComponent()._acceleration.x > 0); + REQUIRE(entity.getComponent()._acceleration.z > 0); + + MovableSystem movable; + movable.onUpdate(entity, std::chrono::nanoseconds(1)); + movable.onFixedUpdate(entity); + REQUIRE(entity.getComponent()._velocity.x > 0); + REQUIRE(entity.getComponent()._velocity.z > 0); + REQUIRE(entity.getComponent()._acceleration.x == 0); + REQUIRE(entity.getComponent()._acceleration.z == 0); + movable.onUpdate(entity, std::chrono::nanoseconds(1)); + movable.onFixedUpdate(entity); + REQUIRE(entity.getComponent().position.x > 0); + REQUIRE(entity.getComponent().position.z > 0); + +} \ No newline at end of file