34 lines
701 B
C++

#include "catch.hpp"
#include "DetourCommon.h"
TEST_CASE("dtRandomPointInConvexPoly")
{
SECTION("Properly works when the argument 's' is 1.0f")
{
const float pts[] = {
0, 0, 0,
0, 0, 1,
1, 0, 0,
};
const int npts = 3;
float areas[6];
float out[3];
dtRandomPointInConvexPoly(pts, npts, areas, 0.0f, 1.0f, out);
REQUIRE(out[0] == 0);
REQUIRE(out[1] == 0);
REQUIRE(out[2] == 1);
dtRandomPointInConvexPoly(pts, npts, areas, 0.5f, 1.0f, out);
REQUIRE(out[0] == 1.0f / 2);
REQUIRE(out[1] == 0);
REQUIRE(out[2] == 1.0f / 2);
dtRandomPointInConvexPoly(pts, npts, areas, 1.0f, 1.0f, out);
REQUIRE(out[0] == 1);
REQUIRE(out[1] == 0);
REQUIRE(out[2] == 0);
}
}