Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/simulation2/components/tests/test_Position.h
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | public: | ||||
static CFixedVector3D fixedvec(int x, int y, int z) | static CFixedVector3D fixedvec(int x, int y, int z) | ||||
{ | { | ||||
return CFixedVector3D(fixed::FromInt(x), fixed::FromInt(y), fixed::FromInt(z)); | return CFixedVector3D(fixed::FromInt(x), fixed::FromInt(y), fixed::FromInt(z)); | ||||
} | } | ||||
void test_basic() | void test_basic() | ||||
{ | { | ||||
ComponentTestHelper test(g_ScriptRuntime); | ComponentTestHelper test(g_ScriptContext); | ||||
MockTerrain terrain; | MockTerrain terrain; | ||||
test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | ||||
ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>23</Altitude><Floating>false</Floating>"); | ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>23</Altitude><Floating>false</Floating>"); | ||||
// Defaults | // Defaults | ||||
TS_ASSERT(!cmp->IsInWorld()); | TS_ASSERT(!cmp->IsInWorld()); | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | void test_basic() | ||||
TS_ASSERT_EQUALS(cmp->GetInterpolatedTransform(0.5f).GetTranslation(), CVector3D(300, 60, 100)); | TS_ASSERT_EQUALS(cmp->GetInterpolatedTransform(0.5f).GetTranslation(), CVector3D(300, 60, 100)); | ||||
TS_ASSERT_EQUALS(cmp->GetInterpolatedTransform(1.0f).GetTranslation(), CVector3D(300, 60, 100)); | TS_ASSERT_EQUALS(cmp->GetInterpolatedTransform(1.0f).GetTranslation(), CVector3D(300, 60, 100)); | ||||
// TODO: Test the rotation methods | // TODO: Test the rotation methods | ||||
} | } | ||||
void test_water() | void test_water() | ||||
{ | { | ||||
ComponentTestHelper test(g_ScriptRuntime); | ComponentTestHelper test(g_ScriptContext); | ||||
MockTerrain terrain; | MockTerrain terrain; | ||||
test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | ||||
MockWater water; | MockWater water; | ||||
test.AddMock(SYSTEM_ENTITY, IID_WaterManager, water); | test.AddMock(SYSTEM_ENTITY, IID_WaterManager, water); | ||||
ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>23</Altitude><Floating>true</Floating><FloatDepth>1</FloatDepth>"); | ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>23</Altitude><Floating>true</Floating><FloatDepth>1</FloatDepth>"); | ||||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | void test_water() | ||||
TS_ASSERT(!cmp->CanFloat()); | TS_ASSERT(!cmp->CanFloat()); | ||||
TS_ASSERT_EQUALS(cmp->GetHeightFixed(), entity_pos_t::FromInt(122)); | TS_ASSERT_EQUALS(cmp->GetHeightFixed(), entity_pos_t::FromInt(122)); | ||||
TS_ASSERT_EQUALS(cmp->GetHeightOffset(), entity_pos_t::FromInt(72)); | TS_ASSERT_EQUALS(cmp->GetHeightOffset(), entity_pos_t::FromInt(72)); | ||||
TS_ASSERT_EQUALS(cmp->GetPosition(), fixedvec(100, 122, 200)); | TS_ASSERT_EQUALS(cmp->GetPosition(), fixedvec(100, 122, 200)); | ||||
} | } | ||||
void test_serialize() | void test_serialize() | ||||
{ | { | ||||
ComponentTestHelper test(g_ScriptRuntime); | ComponentTestHelper test(g_ScriptContext); | ||||
MockTerrain terrain; | MockTerrain terrain; | ||||
test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | test.AddMock(SYSTEM_ENTITY, IID_Terrain, terrain); | ||||
ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>5</Altitude><Floating>false</Floating>"); | ICmpPosition* cmp = test.Add<ICmpPosition>(CID_Position, "<Anchor>upright</Anchor><Altitude>5</Altitude><Floating>false</Floating>"); | ||||
test.Roundtrip(); | test.Roundtrip(); | ||||
Show All 12 Lines |
Wildfire Games · Phabricator