The Great ScriptCanvas Purge. Part I.
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
@@ -163,906 +163,5 @@ TEST_F(ScriptCanvasTestFixture, NodeGenerics)
|
||||
delete graph->GetEntity();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByValue)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByValueNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByValueNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByPointer)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByPointerNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByPointerNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
// execution
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByValueID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByReference)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByReferenceNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByReferenceNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByValueInteger)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByValueIntegerNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const AZ::EntityId graphEntityId = graph->GetEntityId();
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByValueIntegerNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Node* valueNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueID1);
|
||||
EXPECT_EQ(1, *valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueID2);
|
||||
EXPECT_EQ(2, *valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueID3);
|
||||
EXPECT_EQ(3, *valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueID4);
|
||||
EXPECT_EQ(4, *valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueID5);
|
||||
EXPECT_EQ(5, *valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID5, "Set"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByPointerInteger)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByPointerIntegerNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByPointerIntegerNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Node* valueNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueID1);
|
||||
EXPECT_EQ(1, *valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueID2);
|
||||
EXPECT_EQ(2, *valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueID3);
|
||||
EXPECT_EQ(3, *valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueID4);
|
||||
EXPECT_EQ(4, *valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueID5);
|
||||
EXPECT_EQ(5, *valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByValueID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByReferenceInteger)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByReferenceIntegerNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByReferenceIntegerNode>(graphUniqueId, maxByValueID);
|
||||
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Node* valueNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueID1);
|
||||
EXPECT_EQ(1, *valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueID2);
|
||||
EXPECT_EQ(2, *valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueID3);
|
||||
EXPECT_EQ(3, *valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueID4);
|
||||
EXPECT_EQ(4, *valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueID5);
|
||||
EXPECT_EQ(5, *valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByValueID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByValueMulti)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByValueMultiNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByValueID;
|
||||
CreateTestNode<MaxReturnByValueMultiNode>(graphUniqueId, maxByValueID);
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
AZ::EntityId valueIntegerID1, valueIntegerID2, valueIntegerID3, valueIntegerID4, valueIntegerID5;
|
||||
|
||||
Node* valueIntegerNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueIntegerID1);
|
||||
EXPECT_EQ(1, *valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueIntegerID2);
|
||||
EXPECT_EQ(2, *valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueIntegerID3);
|
||||
EXPECT_EQ(3, *valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueIntegerID4);
|
||||
EXPECT_EQ(4, *valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueIntegerID5);
|
||||
EXPECT_EQ(5, *valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto valueInteger1 = valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger2 = valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger3 = valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger4 = valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger5 = valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(valueInteger1, valueInteger2);
|
||||
EXPECT_NE(valueInteger1, valueInteger3);
|
||||
EXPECT_NE(valueInteger1, valueInteger4);
|
||||
EXPECT_NE(valueInteger1, valueInteger5);
|
||||
EXPECT_NE(valueInteger2, valueInteger3);
|
||||
EXPECT_NE(valueInteger2, valueInteger4);
|
||||
EXPECT_NE(valueInteger2, valueInteger5);
|
||||
EXPECT_NE(valueInteger3, valueInteger4);
|
||||
EXPECT_NE(valueInteger3, valueInteger5);
|
||||
EXPECT_NE(valueInteger4, valueInteger5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByValueID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByValueID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID1, "Get", maxByValueID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID2, "Get", maxByValueID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueIntegerID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID3, "Get", valueIntegerID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByValueID, "Result: Number", valueIntegerID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByValueID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByReferenceMulti)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByReferenceMultiNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByReferenceID;
|
||||
CreateTestNode<MaxReturnByReferenceMultiNode>(graphUniqueId, maxByReferenceID);
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
AZ::EntityId valueIntegerID1, valueIntegerID2, valueIntegerID3, valueIntegerID4, valueIntegerID5;
|
||||
|
||||
Node* valueIntegerNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueIntegerID1);
|
||||
EXPECT_EQ(1, *valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueIntegerID2);
|
||||
EXPECT_EQ(2, *valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueIntegerID3);
|
||||
EXPECT_EQ(3, *valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueIntegerID4);
|
||||
EXPECT_EQ(4, *valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueIntegerID5);
|
||||
EXPECT_EQ(5, *valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto valueInteger1 = valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger2 = valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger3 = valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger4 = valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger5 = valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(valueInteger1, valueInteger2);
|
||||
EXPECT_NE(valueInteger1, valueInteger3);
|
||||
EXPECT_NE(valueInteger1, valueInteger4);
|
||||
EXPECT_NE(valueInteger1, valueInteger5);
|
||||
EXPECT_NE(valueInteger2, valueInteger3);
|
||||
EXPECT_NE(valueInteger2, valueInteger4);
|
||||
EXPECT_NE(valueInteger2, valueInteger5);
|
||||
EXPECT_NE(valueInteger3, valueInteger4);
|
||||
EXPECT_NE(valueInteger3, valueInteger5);
|
||||
EXPECT_NE(valueInteger4, valueInteger5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByReferenceID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByReferenceID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByReferenceID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByReferenceID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID1, "Get", maxByReferenceID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID2, "Get", maxByReferenceID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByReferenceID, "Result: Number", valueIntegerID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID3, "Get", valueIntegerID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByReferenceID, "Result: Number", valueIntegerID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByReferenceID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
TEST_F(ScriptCanvasTestFixture, NodeGenericsByPointerMulti)
|
||||
{
|
||||
using namespace ScriptCanvas;
|
||||
using namespace ScriptCanvas::Nodes;
|
||||
|
||||
RegisterComponentDescriptor<MaxReturnByPointerMultiNode>();
|
||||
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
|
||||
TestBehaviorContextObject::ResetCounts();
|
||||
|
||||
UnitTestEventsHandler unitTestHandler;
|
||||
unitTestHandler.BusConnect();
|
||||
|
||||
Graph* graph = nullptr;
|
||||
SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph);
|
||||
EXPECT_TRUE(graph != nullptr);
|
||||
graph->GetEntity()->Init();
|
||||
|
||||
const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId();
|
||||
|
||||
AZ::EntityId startID;
|
||||
CreateTestNode<ScriptCanvas::Nodes::Core::Start>(graphUniqueId, startID);
|
||||
|
||||
AZ::EntityId maxByPointerID;
|
||||
CreateTestNode<MaxReturnByPointerMultiNode>(graphUniqueId, maxByPointerID);
|
||||
AZ::EntityId valueID1, valueID2, valueID3, valueID4, valueID5;
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode1 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID1);
|
||||
valueNode1->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode1->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(1);
|
||||
EXPECT_EQ(1, valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode2 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID2);
|
||||
valueNode2->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode2->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(2);
|
||||
EXPECT_EQ(2, valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode3 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID3);
|
||||
valueNode3->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode3->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(3);
|
||||
EXPECT_EQ(3, valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode4 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID4);
|
||||
valueNode4->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode4->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(4);
|
||||
EXPECT_EQ(4, valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
Core::BehaviorContextObjectNode* valueNode5 = CreateTestNode<Core::BehaviorContextObjectNode>(graphUniqueId, valueID5);
|
||||
valueNode5->InitializeObject(azrtti_typeid<TestBehaviorContextObject>());
|
||||
valueNode5->ModInput_UNIT_TEST<TestBehaviorContextObject>("Set")->SetValue(5);
|
||||
EXPECT_EQ(5, valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set")->GetValue());
|
||||
|
||||
auto value1 = valueNode1->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value2 = valueNode2->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value3 = valueNode3->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value4 = valueNode4->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
auto value5 = valueNode5->GetInput_UNIT_TEST<TestBehaviorContextObject>("Set");
|
||||
|
||||
EXPECT_NE(value1, value2);
|
||||
EXPECT_NE(value1, value3);
|
||||
EXPECT_NE(value1, value4);
|
||||
EXPECT_NE(value1, value5);
|
||||
EXPECT_NE(value2, value3);
|
||||
EXPECT_NE(value2, value4);
|
||||
EXPECT_NE(value2, value5);
|
||||
EXPECT_NE(value3, value4);
|
||||
EXPECT_NE(value3, value5);
|
||||
EXPECT_NE(value4, value5);
|
||||
|
||||
AZ::EntityId valueIntegerID1, valueIntegerID2, valueIntegerID3, valueIntegerID4, valueIntegerID5;
|
||||
|
||||
Node* valueIntegerNode1 = CreateDataNode<Data::NumberType>(graphUniqueId, 1, valueIntegerID1);
|
||||
EXPECT_EQ(1, *valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode2 = CreateDataNode<Data::NumberType>(graphUniqueId, 2, valueIntegerID2);
|
||||
EXPECT_EQ(2, *valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode3 = CreateDataNode<Data::NumberType>(graphUniqueId, 3, valueIntegerID3);
|
||||
EXPECT_EQ(3, *valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode4 = CreateDataNode<Data::NumberType>(graphUniqueId, 4, valueIntegerID4);
|
||||
EXPECT_EQ(4, *valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
Node* valueIntegerNode5 = CreateDataNode<Data::NumberType>(graphUniqueId, 5, valueIntegerID5);
|
||||
EXPECT_EQ(5, *valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set"));
|
||||
|
||||
auto valueInteger1 = valueIntegerNode1->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger2 = valueIntegerNode2->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger3 = valueIntegerNode3->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger4 = valueIntegerNode4->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
auto valueInteger5 = valueIntegerNode5->GetInput_UNIT_TEST<Data::NumberType>("Set");
|
||||
|
||||
EXPECT_NE(valueInteger1, valueInteger2);
|
||||
EXPECT_NE(valueInteger1, valueInteger3);
|
||||
EXPECT_NE(valueInteger1, valueInteger4);
|
||||
EXPECT_NE(valueInteger1, valueInteger5);
|
||||
EXPECT_NE(valueInteger2, valueInteger3);
|
||||
EXPECT_NE(valueInteger2, valueInteger4);
|
||||
EXPECT_NE(valueInteger2, valueInteger5);
|
||||
EXPECT_NE(valueInteger3, valueInteger4);
|
||||
EXPECT_NE(valueInteger3, valueInteger5);
|
||||
EXPECT_NE(valueInteger4, valueInteger5);
|
||||
|
||||
// data
|
||||
EXPECT_TRUE(Connect(*graph, valueID1, "Get", maxByPointerID, "TestBehaviorContextObject: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID2, "Get", maxByPointerID, "TestBehaviorContextObject: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByPointerID, "Result: TestBehaviorContextObject", valueID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueID3, "Get", valueID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByPointerID, "Result: TestBehaviorContextObject", valueID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID1, "Get", maxByPointerID, "Number: 0"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID2, "Get", maxByPointerID, "Number: 1"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByPointerID, "Result: Number", valueIntegerID3, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, valueIntegerID3, "Get", valueIntegerID4, "Set"));
|
||||
EXPECT_TRUE(Connect(*graph, maxByPointerID, "Result: Number", valueIntegerID5, "Set"));
|
||||
|
||||
EXPECT_TRUE(Connect(*graph, startID, "Out", maxByPointerID, "In"));
|
||||
|
||||
delete graph->GetEntity();
|
||||
|
||||
m_serializeContext->EnableRemoveReflection();
|
||||
m_behaviorContext->EnableRemoveReflection();
|
||||
TestBehaviorContextObject::Reflect(m_serializeContext);
|
||||
TestBehaviorContextObject::Reflect(m_behaviorContext);
|
||||
m_serializeContext->DisableRemoveReflection();
|
||||
m_behaviorContext->DisableRemoveReflection();
|
||||
}
|
||||
|
||||
#pragma warning( pop )
|
||||
|
||||
Reference in New Issue
Block a user