The Great ScriptCanvas Purge. Part I.

Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
chcurran
2021-07-01 09:57:36 -07:00
parent ffe77f7eed
commit 59ff74f559
81 changed files with 40 additions and 3906 deletions
@@ -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 )