示例#1
0
        public void TwoNodes_Node2InputLinkedToNode1Output()
        {
            var node1 = new AdditionNodeImpl();
            var node2 = new NopNodeImpl();

            node1.Inputs[0].SetValue(2);
            node1.Inputs[1].SetValue(3);

            Assert.IsNull(node2.Inputs[0].AttachedNode);
            node2.Inputs[0].LinkTo(node1);
            Assert.IsNotNull(node2.Inputs[0].AttachedNode);

            Assert.AreEqual(5, node2.GetValue());
        }
示例#2
0
        public void OneNode_StaticValues()
        {
            var node = new AdditionNodeImpl();

            node.Inputs[0].SetValue(2);
            node.Inputs[1].SetValue(3);

            Assert.IsTrue(node.Inputs[0].IsStaticValue);
            Assert.IsNull(node.Inputs[0].AttachedNode);
            Assert.IsTrue(node.Inputs[1].IsStaticValue);
            Assert.IsNull(node.Inputs[1].AttachedNode);

            Assert.IsFalse(node.IsOutputAvailable);
            Assert.AreEqual(5, node.GetValue());
            Assert.IsTrue(node.IsOutputAvailable);
        }
示例#3
0
        public void OneNode_NoInput_ExceptionThrown()
        {
            var node = new AdditionNodeImpl();

            Assert.ThrowsException <ArgumentNullException>(() => node.GetValue());
        }