Fix unit tests

This commit is contained in:
SirLynix 2023-08-12 14:43:59 +02:00
parent 7e54b19eb5
commit 5a299da930
2 changed files with 10 additions and 5 deletions

View File

@ -117,9 +117,13 @@ SCENARIO("Serialization", "[CORE][SERIALIZATION]")
{ {
context.stream->SetCursorPos(0); context.stream->SetCursorPos(0);
Nz::OrientedBoxf zeroOBB = Nz::OrientedBoxf::Zero(); Nz::OrientedBoxf zeroOBB = Nz::OrientedBoxf::Zero();
zeroOBB.Update(Nz::Vector3f::Zero());
Nz::OrientedBoxf copy(zeroOBB); Nz::OrientedBoxf copy(zeroOBB);
REQUIRE(Serialize(context, zeroOBB)); REQUIRE(Serialize(context, zeroOBB));
zeroOBB = Nz::OrientedBoxf(Nz::Boxf(1, 1, 1, 1, 1, 1)); // Random values zeroOBB = Nz::OrientedBoxf(Nz::Boxf(1, 1, 1, 1, 1, 1)); // Random values
zeroOBB.Update(Nz::Vector3f::Zero());
REQUIRE(zeroOBB != copy); REQUIRE(zeroOBB != copy);
context.stream->SetCursorPos(0); context.stream->SetCursorPos(0);
REQUIRE(Unserialize(context, &zeroOBB)); REQUIRE(Unserialize(context, &zeroOBB));

View File

@ -15,6 +15,7 @@ SCENARIO("RigidBody2D", "[PHYSICS2D][RIGIDBODY2D]")
{ {
Nz::ChipmunkPhysWorld2D world; Nz::ChipmunkPhysWorld2D world;
world.SetMaxStepCount(std::numeric_limits<std::size_t>::max()); world.SetMaxStepCount(std::numeric_limits<std::size_t>::max());
world.SetStepSize(Nz::Time::TickDuration(200)); //< FIXME: Tests fail on Linux with default step size
Nz::Vector2f positionAABB(3.f, 4.f); Nz::Vector2f positionAABB(3.f, 4.f);
Nz::Rectf aabb(positionAABB.x, positionAABB.y, 1.f, 2.f); Nz::Rectf aabb(positionAABB.x, positionAABB.y, 1.f, 2.f);
@ -182,20 +183,20 @@ SCENARIO("RigidBody2D", "[PHYSICS2D][RIGIDBODY2D]")
THEN("We expect those to be true") THEN("We expect those to be true")
{ {
CHECK(body.GetAngularVelocity() == angularSpeed); CHECK(body.GetAngularVelocity().ApproxEqual(angularSpeed));
CHECK(body.GetRotation() == angularSpeed); CHECK(body.GetRotation().ApproxEqual(angularSpeed));
CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(-6.f, 3.f, 2.f, 1.f), 0.00001f)); CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(-6.f, 3.f, 2.f, 1.f), 0.00001f));
world.Step(Nz::Time::Second()); world.Step(Nz::Time::Second());
CHECK(body.GetRotation() == 2.f * angularSpeed); CHECK(body.GetRotation().ApproxEqual(2.f * angularSpeed));
CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(-4.f, -6.f, 1.f, 2.f), 0.00001f)); CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(-4.f, -6.f, 1.f, 2.f), 0.00001f));
world.Step(Nz::Time::Second()); world.Step(Nz::Time::Second());
CHECK(body.GetRotation() == 3.f * angularSpeed); CHECK(body.GetRotation().ApproxEqual(3.f * angularSpeed));
CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(4.f, -4.f, 2.f, 1.f), 0.00001f)); CHECK(body.GetAABB().ApproxEqual(Nz::Rectf(4.f, -4.f, 2.f, 1.f), 0.00001f));
world.Step(Nz::Time::Second()); world.Step(Nz::Time::Second());
CHECK(body.GetRotation() == 4.f * angularSpeed); CHECK(body.GetRotation().ApproxEqual(4.f * angularSpeed));
} }
} }