/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include "LmbrCentral_precompiled.h"
#include "LmbrCentralReflectionTest.h"
#include "Shape/EditorPolygonPrismShapeComponent.h"
namespace LmbrCentral
{
// Serialized legacy EditorPolygonPrismShapeComponent v1.
const char kEditorPolygonPrismComponentVersion1[] =
R"DELIMITER(
)DELIMITER";
class LoadEditorPolygonPrismShapeComponentFromVersion1
: public LoadEditorComponentTest
{
protected:
const char* GetSourceDataBuffer() const override { return kEditorPolygonPrismComponentVersion1; }
};
TEST_F(LoadEditorPolygonPrismShapeComponentFromVersion1, Application_IsRunning)
{
ASSERT_NE(GetApplication(), nullptr);
}
TEST_F(LoadEditorPolygonPrismShapeComponentFromVersion1, Components_Load)
{
EXPECT_NE(m_object.get(), nullptr);
}
TEST_F(LoadEditorPolygonPrismShapeComponentFromVersion1, EditorComponent_Found)
{
EXPECT_EQ(m_entity->GetComponents().size(), 2);
EXPECT_NE(m_entity->FindComponent(m_object->GetId()), nullptr);
}
TEST_F(LoadEditorPolygonPrismShapeComponentFromVersion1, Height_MatchesSourceData)
{
AZ::ConstPolygonPrismPtr polygonPrism;
PolygonPrismShapeComponentRequestBus::EventResult(polygonPrism, m_entity->GetId(), &PolygonPrismShapeComponentRequestBus::Events::GetPolygonPrism);
EXPECT_FLOAT_EQ(polygonPrism->GetHeight(), 1.57f);
}
TEST_F(LoadEditorPolygonPrismShapeComponentFromVersion1, Vertices_MatchesSourceData)
{
AZ::ConstPolygonPrismPtr polygonPrism;
PolygonPrismShapeComponentRequestBus::EventResult(polygonPrism, m_entity->GetId(), &PolygonPrismShapeComponentRequestBus::Events::GetPolygonPrism);
AZStd::vector sourceVertices =
{
AZ::Vector2(-0.57f, -0.57f),
AZ::Vector2(0.57f, -0.57f),
AZ::Vector2(0.57f, 0.57f),
AZ::Vector2(-0.57f, 0.57f)
};
EXPECT_EQ(polygonPrism->m_vertexContainer.GetVertices(), sourceVertices);
}
}