19 lines
588 B
C++
19 lines
588 B
C++
#include <gtest/gtest.h>
|
|
#include "vde/curves/bezier_curve.h"
|
|
|
|
using namespace vde::curves;
|
|
|
|
TEST(BezierTest, Linear_EvaluateAtMidpoint) {
|
|
BezierCurve curve({Point3D(0,0,0), Point3D(2,0,0)});
|
|
Point3D p = curve.evaluate(0.5);
|
|
EXPECT_NEAR(p.x(), 1.0, 1e-6);
|
|
}
|
|
|
|
TEST(BezierTest, Quadratic_EvaluateAtEndpoints) {
|
|
BezierCurve curve({Point3D(0,0,0), Point3D(1,1,0), Point3D(2,0,0)});
|
|
Point3D p0 = curve.evaluate(0.0);
|
|
Point3D p1 = curve.evaluate(1.0);
|
|
EXPECT_NEAR((p0 - Point3D(0,0,0)).norm(), 0.0, 1e-6);
|
|
EXPECT_NEAR((p1 - Point3D(2,0,0)).norm(), 0.0, 1e-6);
|
|
}
|