Skip to content

Commit deaa65d

Browse files
committed
Separate tests for binary operation nodes.
1 parent 7055fa0 commit deaa65d

1 file changed

Lines changed: 54 additions & 17 deletions

File tree

Sources/NodeEngineTest/BinaryOperationNodesTest.cpp

Lines changed: 54 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,68 @@ using namespace BI;
1111
namespace BinaryOperationNodesTest
1212
{
1313

14-
TEST (TestAllBinaryOperationNodes)
14+
TEST (TestAdditionNode)
1515
{
1616
TestUIEnvironment env;
1717
NodeUIManager uiManager (env);
1818

1919
UINodePtr val1 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 1.0, 1.0)), EmptyEvaluationEnv);
2020
UINodePtr val2 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 2.0, 1.0)), EmptyEvaluationEnv);
21-
UINodePtr val3 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value3"), Point (0, 0), 3.0, 1.0)), EmptyEvaluationEnv);
22-
UINodePtr add = uiManager.AddNode (UINodePtr (new AdditionNode (LocString (L"Addition"), Point (0, 0))), EmptyEvaluationEnv);
23-
UINodePtr sub = uiManager.AddNode (UINodePtr (new SubtractionNode (LocString (L"Subtracion"), Point (0, 0))), EmptyEvaluationEnv);
24-
UINodePtr mul = uiManager.AddNode (UINodePtr (new MultiplicationNode (LocString (L"Multiplication"), Point (0, 0))), EmptyEvaluationEnv);
25-
UINodePtr div = uiManager.AddNode (UINodePtr (new DivisionNode (LocString (L"Division"), Point (0, 0))), EmptyEvaluationEnv);
26-
27-
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), add->GetUIInputSlot (SlotId ("a")));
28-
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), add->GetUIInputSlot (SlotId ("b")));
29-
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), sub->GetUIInputSlot (SlotId ("a")));
30-
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), sub->GetUIInputSlot (SlotId ("b")));
31-
uiManager.ConnectOutputSlotToInputSlot (add->GetUIOutputSlot (SlotId ("result")), mul->GetUIInputSlot (SlotId ("a")));
32-
uiManager.ConnectOutputSlotToInputSlot (sub->GetUIOutputSlot (SlotId ("result")), mul->GetUIInputSlot (SlotId ("b")));
33-
uiManager.ConnectOutputSlotToInputSlot (mul->GetUIOutputSlot (SlotId ("result")), div->GetUIInputSlot (SlotId ("a")));
34-
uiManager.ConnectOutputSlotToInputSlot (val3->GetUIOutputSlot (SlotId ("out")), div->GetUIInputSlot (SlotId ("b")));
35-
36-
ValueConstPtr val = div->Evaluate (EmptyEvaluationEnv);
21+
UINodePtr op = uiManager.AddNode (UINodePtr (new AdditionNode (LocString (L"Addition"), Point (0, 0))), EmptyEvaluationEnv);
22+
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("a")));
23+
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("b")));
24+
25+
ValueConstPtr val = op->Evaluate (EmptyEvaluationEnv);
26+
ASSERT (IsSingleType<DoubleValue> (val));
27+
ASSERT (IsEqual (DoubleValue::Get (CreateSingleValue (val)), 3.0));
28+
}
29+
30+
TEST (TestSubtractionNode)
31+
{
32+
TestUIEnvironment env;
33+
NodeUIManager uiManager (env);
34+
35+
UINodePtr val1 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 1.0, 1.0)), EmptyEvaluationEnv);
36+
UINodePtr val2 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 2.0, 1.0)), EmptyEvaluationEnv);
37+
UINodePtr op = uiManager.AddNode (UINodePtr (new SubtractionNode (LocString (L"Subtraction"), Point (0, 0))), EmptyEvaluationEnv);
38+
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("a")));
39+
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("b")));
40+
41+
ValueConstPtr val = op->Evaluate (EmptyEvaluationEnv);
3742
ASSERT (IsSingleType<DoubleValue> (val));
3843
ASSERT (IsEqual (DoubleValue::Get (CreateSingleValue (val)), -1.0));
3944
}
4045

46+
TEST (TestMultiplicationNode)
47+
{
48+
TestUIEnvironment env;
49+
NodeUIManager uiManager (env);
50+
51+
UINodePtr val1 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 1.0, 1.0)), EmptyEvaluationEnv);
52+
UINodePtr val2 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 2.0, 1.0)), EmptyEvaluationEnv);
53+
UINodePtr op = uiManager.AddNode (UINodePtr (new MultiplicationNode (LocString (L"Multiplication"), Point (0, 0))), EmptyEvaluationEnv);
54+
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("a")));
55+
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("b")));
56+
57+
ValueConstPtr val = op->Evaluate (EmptyEvaluationEnv);
58+
ASSERT (IsSingleType<DoubleValue> (val));
59+
ASSERT (IsEqual (DoubleValue::Get (CreateSingleValue (val)), 2.0));
60+
}
61+
62+
TEST (TestDivisionNode)
63+
{
64+
TestUIEnvironment env;
65+
NodeUIManager uiManager (env);
66+
67+
UINodePtr val1 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 1.0, 1.0)), EmptyEvaluationEnv);
68+
UINodePtr val2 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 2.0, 1.0)), EmptyEvaluationEnv);
69+
UINodePtr op = uiManager.AddNode (UINodePtr (new DivisionNode (LocString (L"Division"), Point (0, 0))), EmptyEvaluationEnv);
70+
uiManager.ConnectOutputSlotToInputSlot (val1->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("a")));
71+
uiManager.ConnectOutputSlotToInputSlot (val2->GetUIOutputSlot (SlotId ("out")), op->GetUIInputSlot (SlotId ("b")));
72+
73+
ValueConstPtr val = op->Evaluate (EmptyEvaluationEnv);
74+
ASSERT (IsSingleType<DoubleValue> (val));
75+
ASSERT (IsEqual (DoubleValue::Get (CreateSingleValue (val)), 0.5));
76+
}
77+
4178
}

0 commit comments

Comments
 (0)