/* * 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 #include #include #include #include using namespace AWSCore; class AWSScriptBehaviorsComponentTest : public AWSCoreFixture { public: void SetUp() override { AWSCoreFixture::SetUpFixture(); m_serializeContext = AZStd::make_unique(); m_serializeContext->CreateEditContext(); m_behaviorContext = AZStd::make_unique(); m_entity = AZStd::make_unique(); m_scriptBehaviorsComponent.reset(m_entity->CreateComponent()); } void TearDown() override { m_entity->RemoveComponent(m_scriptBehaviorsComponent.get()); m_scriptBehaviorsComponent.reset(); m_entity.reset(); m_componentDescriptor.reset(); m_behaviorContext.reset(); m_serializeContext.reset(); AWSCoreFixture::TearDownFixture(); } protected: AZStd::unique_ptr m_serializeContext; AZStd::unique_ptr m_behaviorContext; AZStd::unique_ptr m_componentDescriptor; AZStd::unique_ptr m_scriptBehaviorsComponent; AZStd::unique_ptr m_entity; }; TEST_F(AWSScriptBehaviorsComponentTest, Reflect) { int oldEBusNum = static_cast(m_behaviorContext->m_ebuses.size()); m_componentDescriptor.reset(AWSScriptBehaviorsComponent::CreateDescriptor()); m_componentDescriptor->Reflect(m_serializeContext.get()); m_componentDescriptor->Reflect(m_behaviorContext.get()); EXPECT_TRUE(m_behaviorContext->m_ebuses.size() - oldEBusNum == 3); }