/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include "LmbrCentralReflectionTest.h" #include "Shape/EditorCompoundShapeComponent.h" namespace LmbrCentral { // Serialized legacy EditorCompoundShapeComponent v1. const char kEditorCompoundComponentVersion1[] = R"DELIMITER( )DELIMITER"; class LoadEditorCompoundShapeComponentFromVersion1 : public LoadEditorComponentTest { protected: const char* GetSourceDataBuffer() const override { return kEditorCompoundComponentVersion1; } }; TEST_F(LoadEditorCompoundShapeComponentFromVersion1, Application_IsRunning) { ASSERT_NE(GetApplication(), nullptr); } TEST_F(LoadEditorCompoundShapeComponentFromVersion1, Components_Load) { EXPECT_NE(m_object.get(), nullptr); } TEST_F(LoadEditorCompoundShapeComponentFromVersion1, EditorComponent_Found) { EXPECT_EQ(m_entity->GetComponents().size(), 2); EXPECT_NE(m_entity->FindComponent(m_object->GetId()), nullptr); } TEST_F(LoadEditorCompoundShapeComponentFromVersion1, HasChildId_Succeeds) { const AZ::u64 potentialIds[] = { 9,0,2,1,0 }; for (const AZ::u64 id : potentialIds) { bool hasReference = false; LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::EventResult(hasReference, m_entity->GetId(), &LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::Events::HasChildId, AZ::EntityId(id)); EXPECT_TRUE(hasReference); } } TEST_F(LoadEditorCompoundShapeComponentFromVersion1, HasChildId_Fails) { const AZ::u64 potentialIds[] = { 8,6,7,5,3 }; for (const AZ::u64 id : potentialIds) { bool hasReference = false; LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::EventResult(hasReference, m_entity->GetId(), &LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::Events::HasChildId, AZ::EntityId(id)); EXPECT_FALSE(hasReference); } } TEST_F(LoadEditorCompoundShapeComponentFromVersion1, ValidateChildIds_Succeeds) { bool valid = false; LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::EventResult(valid, m_entity->GetId(), &LmbrCentral::CompoundShapeComponentHierarchyRequestsBus::Events::ValidateChildIds); EXPECT_TRUE(valid); } }