You've already forked libopenshot
mirror of
https://github.com/OpenShot/libopenshot.git
synced 2026-03-02 08:53:52 -08:00
111 lines
2.7 KiB
C++
111 lines
2.7 KiB
C++
#include "UnitTest++.h"
|
|
#include "../include/OpenShot.h"
|
|
|
|
using namespace std;
|
|
using namespace openshot;
|
|
|
|
TEST(Point_Default_Constructor)
|
|
{
|
|
// Create a point with X and Y values
|
|
openshot::Point p1(2,9);
|
|
|
|
CHECK_EQUAL(2, p1.co.X);
|
|
CHECK_EQUAL(9, p1.co.Y);
|
|
CHECK_EQUAL(BEZIER, p1.interpolation);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate)
|
|
{
|
|
// Create a point with a coordinate
|
|
Coordinate c1(3,7);
|
|
openshot::Point p1(c1);
|
|
|
|
CHECK_EQUAL(3, p1.co.X);
|
|
CHECK_EQUAL(7, p1.co.Y);
|
|
CHECK_EQUAL(BEZIER, p1.interpolation);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate_And_LINEAR_Interpolation)
|
|
{
|
|
// Create a point with a coordinate and interpolation
|
|
Coordinate c1(3,9);
|
|
Interpolation_Type interp = LINEAR;
|
|
openshot::Point p1(c1, interp);
|
|
|
|
CHECK_EQUAL(3, c1.X);
|
|
CHECK_EQUAL(9, c1.Y);
|
|
CHECK_EQUAL(LINEAR, p1.interpolation);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate_And_BEZIER_Interpolation)
|
|
{
|
|
// Create a point with a coordinate and interpolation
|
|
Coordinate c1(3,9);
|
|
Interpolation_Type interp = BEZIER;
|
|
openshot::Point p1(c1, interp);
|
|
|
|
CHECK_EQUAL(3, p1.co.X);
|
|
CHECK_EQUAL(9, p1.co.Y);
|
|
CHECK_EQUAL(BEZIER, p1.interpolation);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate_And_CONSTANT_Interpolation)
|
|
{
|
|
// Create a point with a coordinate and interpolation
|
|
Coordinate c1(2,8);
|
|
Interpolation_Type interp = CONSTANT;
|
|
openshot::Point p1(c1, interp);
|
|
|
|
CHECK_EQUAL(2, p1.co.X);
|
|
CHECK_EQUAL(8, p1.co.Y);
|
|
CHECK_EQUAL(CONSTANT, p1.interpolation);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate_And_BEZIER_And_AUTO_Handle)
|
|
{
|
|
// Create a point with a coordinate and interpolation
|
|
Coordinate c1(3,9);
|
|
openshot::Point p1(c1, BEZIER, AUTO);
|
|
|
|
CHECK_EQUAL(3, p1.co.X);
|
|
CHECK_EQUAL(9, p1.co.Y);
|
|
CHECK_EQUAL(BEZIER, p1.interpolation);
|
|
CHECK_EQUAL(AUTO, p1.handle_type);
|
|
}
|
|
|
|
TEST(Point_Constructor_With_Coordinate_And_BEZIER_And_MANUAL_Handle)
|
|
{
|
|
// Create a point with a coordinate and interpolation
|
|
Coordinate c1(3,9);
|
|
openshot::Point p1(c1, BEZIER, MANUAL);
|
|
|
|
CHECK_EQUAL(3, p1.co.X);
|
|
CHECK_EQUAL(9, p1.co.Y);
|
|
CHECK_EQUAL(BEZIER, p1.interpolation);
|
|
CHECK_EQUAL(MANUAL, p1.handle_type);
|
|
}
|
|
|
|
TEST(Point_Set_Handles_Auto_No_Value)
|
|
{
|
|
// Create a point with X and Y values
|
|
openshot::Point p1(2,8);
|
|
p1.Initialize_Handles();
|
|
|
|
CHECK_EQUAL(p1.co.Y, p1.handle_left.Y);
|
|
CHECK_EQUAL(p1.co.Y, p1.handle_right.Y);
|
|
CHECK_CLOSE(p1.co.X, p1.handle_left.X, 0.000001);
|
|
CHECK_CLOSE(p1.co.X, p1.handle_right.X, 0.000001);
|
|
}
|
|
|
|
TEST(Point_Set_Handles_Auto_With_Values)
|
|
{
|
|
// Create a point with X and Y values
|
|
openshot::Point p1(2,8);
|
|
p1.Initialize_Handles(4.2);
|
|
|
|
CHECK_EQUAL(p1.co.Y, p1.handle_left.Y);
|
|
CHECK_EQUAL(p1.co.Y, p1.handle_right.Y);
|
|
CHECK_CLOSE(p1.co.X - 4.2, p1.handle_left.X, 0.000001);
|
|
CHECK_CLOSE(p1.co.X + 4.2, p1.handle_right.X, 0.000001);
|
|
}
|