#include #include #include using namespace XCEngine::Components; namespace { TEST(CameraComponent_Test, DefaultValues) { CameraComponent camera; EXPECT_EQ(camera.GetProjectionType(), CameraProjectionType::Perspective); EXPECT_FLOAT_EQ(camera.GetFieldOfView(), 60.0f); EXPECT_FLOAT_EQ(camera.GetOrthographicSize(), 5.0f); EXPECT_FLOAT_EQ(camera.GetNearClipPlane(), 0.1f); EXPECT_FLOAT_EQ(camera.GetFarClipPlane(), 1000.0f); EXPECT_TRUE(camera.IsPrimary()); } TEST(CameraComponent_Test, SetterClamping) { CameraComponent camera; camera.SetFieldOfView(500.0f); camera.SetOrthographicSize(-1.0f); camera.SetNearClipPlane(-10.0f); camera.SetFarClipPlane(0.0f); EXPECT_FLOAT_EQ(camera.GetFieldOfView(), 179.0f); EXPECT_FLOAT_EQ(camera.GetOrthographicSize(), 0.001f); EXPECT_FLOAT_EQ(camera.GetNearClipPlane(), 0.001f); EXPECT_GT(camera.GetFarClipPlane(), camera.GetNearClipPlane()); } TEST(LightComponent_Test, DefaultValues) { LightComponent light; EXPECT_EQ(light.GetLightType(), LightType::Directional); EXPECT_FLOAT_EQ(light.GetIntensity(), 1.0f); EXPECT_FLOAT_EQ(light.GetRange(), 10.0f); EXPECT_FLOAT_EQ(light.GetSpotAngle(), 30.0f); EXPECT_FALSE(light.GetCastsShadows()); } TEST(LightComponent_Test, SetterClamping) { LightComponent light; light.SetIntensity(-3.0f); light.SetRange(-1.0f); light.SetSpotAngle(500.0f); EXPECT_FLOAT_EQ(light.GetIntensity(), 0.0f); EXPECT_FLOAT_EQ(light.GetRange(), 0.001f); EXPECT_FLOAT_EQ(light.GetSpotAngle(), 179.0f); } } // namespace