Fix editor scene persistence and XC scene workflow
This commit is contained in:
57
tests/Components/test_camera_light_component.cpp
Normal file
57
tests/Components/test_camera_light_component.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCEngine/Components/CameraComponent.h>
|
||||
#include <XCEngine/Components/LightComponent.h>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user