Пример #1
0
 def test_node_output(self):
     self.assertEqual(
         4,
         node_struct(ParseIntNode(), ['4'], ['in']).resolve_output('out'))
     self.assertEqual(
         -2,
         node_struct(ParseIntNode(), ['-2'], ['in']).resolve_output('out'))
Пример #2
0
 def test_node_output(self):
     self.assertEqual(
         4,
         node_struct(ParseFloatNode(), ['4'], ['in']).resolve_output('out'))
     self.assertEqual(
         3.1415,
         node_struct(ParseFloatNode(), ['3.1415'],
                     ['in']).resolve_output('out'))
Пример #3
0
 def test_node_output(self):
     self.assertEqual(
         5,
         node_struct(PassThroughNode(), [5], ['in']).resolve_output('out'))
     self.assertEqual(
         'test string',
         node_struct(PassThroughNode(), ['test string'],
                     ['in']).resolve_output('out'))
Пример #4
0
 def test_node_output(self):
     self.assertEqual(
         [1, 2, 3],
         node_struct(ArrayNode(3), [1, 2, 3],
                     ['in_0', 'in_1', 'in_2']).resolve_output('merged'))
     self.assertEqual(
         [1, 2, 3, 5, 8],
         node_struct(ArrayNode(3), [[1, 2, 3], 5, 8],
                     ['in_0', 'in_1', 'in_2']).resolve_output('merged'))
     self.assertEqual(
         [1, 2, 3, 4],
         node_struct(ArrayNode(2), [[1, 2], [3, 4]],
                     ['in_0', 'in_1']).resolve_output('merged'))
Пример #5
0
 def test_node_output(self):
     self.assertEqual(
         'first',
         node_struct(IndexNode(), [['first', 'second', 'third'], 0],
                     ['data', 'index']).resolve_output('value'))
     self.assertEqual(
         'second',
         node_struct(IndexNode(), [['first', 'second', 'third'], 1],
                     ['data', 'index']).resolve_output('value'))
     self.assertEqual(
         'third',
         node_struct(IndexNode(), [['first', 'second', 'third'], 2],
                     ['data', 'index']).resolve_output('value'))
Пример #6
0
 def test_node_output(self):
     self.assertEqual(
         1,
         node_struct(DummyNode(), [1, 2],
                     ['in', 'extra']).resolve_output('out'))
     self.assertEqual(
         2,
         node_struct(DummyNode(), [2, 1],
                     ['in', 'extra']).resolve_output('out'))
     self.assertEqual(
         'this one outputted',
         node_struct(DummyNode(), ['this one outputted', 'this one not'],
                     ['in', 'extra']).resolve_output('out'))
Пример #7
0
 def test_node_output(self):
     self.assertEqual(
         0,
         node_struct(IndexOfNode(), [['first', 'second', 'third'], 'first'],
                     ['array', 'search']).resolve_output('index'))
     self.assertEqual(
         1,
         node_struct(IndexOfNode(),
                     [['first', 'second', 'third'], 'second'],
                     ['array', 'search']).resolve_output('index'))
     self.assertEqual(
         2,
         node_struct(IndexOfNode(), [['first', 'second', 'third'], 'third'],
                     ['array', 'search']).resolve_output('index'))
Пример #8
0
 def test_node_output(self):
     self.assertEqual(
         {'test': 'true'},
         node_struct(DictionaryNode(1), ['test', 'true'],
                     ['key_0', 'value_0']).resolve_output('object'))
     self.assertEqual(
         {
             'a': 1,
             'b': 2,
             'z': 26
         },
         node_struct(
             DictionaryNode(3), ['a', 'b', 'z', 1, 2, 26],
             ['key_0', 'key_1', 'key_2', 'value_0', 'value_1', 'value_2'
              ]).resolve_output('object'))
Пример #9
0
 def test_multiplex_node(self):
     self.assertEqual(
         'first',
         node_struct(
             MultiplexNode(3), [0, 'first', 'second', 'third'],
             ['number', 'in_0', 'in_1', 'in_2']).resolve_output('value'))
     self.assertEqual(
         'second',
         node_struct(
             MultiplexNode(3), [1, 'first', 'second', 'third'],
             ['number', 'in_0', 'in_1', 'in_2']).resolve_output('value'))
     self.assertEqual(
         'third',
         node_struct(
             MultiplexNode(3), [2, 'first', 'second', 'third'],
             ['number', 'in_0', 'in_1', 'in_2']).resolve_output('value'))
Пример #10
0
 def test_node_output(self):
     self.assertEqual([1, 2],
                      node_struct(SliceNode(), [[0, 1, 2, 3, 4], 1, 3],
                                  ['array', 'slice_start', 'slice_end'
                                   ]).resolve_output('array'))
     self.assertEqual(
         [2, 3, 4],
         node_struct(SliceNode(), [[0, 1, 2, 3, 4], 2],
                     ['array', 'slice_start']).resolve_output('array'))
     self.assertEqual(
         [0, 1, 2, 3],
         node_struct(SliceNode(), [[0, 1, 2, 3, 4], 4],
                     ['array', 'slice_end']).resolve_output('array'))
     self.assertEqual(
         [0, 2, 4],
         node_struct(SliceNode(), [[0, 1, 2, 3, 4], 2],
                     ['array', 'slice_step']).resolve_output('array'))
Пример #11
0
 def test_node_output(self):
     self.assertEqual(
         'dict',
         node_struct(TypeNode(), [{}], ['in']).resolve_output('out'))
     self.assertEqual(
         'array',
         node_struct(TypeNode(), [[]], ['in']).resolve_output('out'))
     self.assertEqual(
         'int',
         node_struct(TypeNode(), [4], ['in']).resolve_output('out'))
     self.assertEqual(
         'float',
         node_struct(TypeNode(), [2.7181], ['in']).resolve_output('out'))
     self.assertEqual(
         'string',
         node_struct(TypeNode(), ['hello world'],
                     ['in']).resolve_output('out'))
Пример #12
0
 def test_node_output(self):
     self.assertEqual(
         1,
         node_struct(IfNode(), [True, 1, 2],
                     ['condition', 'if', 'else']).resolve_output('value'))
     self.assertEqual(
         2,
         node_struct(IfNode(), [False, 1, 2],
                     ['condition', 'if', 'else']).resolve_output('value'))
     self.assertEqual(
         'if_out',
         node_struct(IfNode(), [True, 'if_out', 'else_out'],
                     ['condition', 'if', 'else']).resolve_output('value'))
     self.assertEqual(
         'else_out',
         node_struct(IfNode(), [False, 'if_out', 'else_out'],
                     ['condition', 'if', 'else']).resolve_output('value'))
Пример #13
0
 def test_node_output(self):
     self.assertEqual(
         'first',
         node_struct(SwitchNode(2), [1, 'none', 1, 'first', 2, 'second'], [
             'value', 'default', 'test_0', 'return_0', 'test_1', 'return_1'
         ]).resolve_output('selected'))
     self.assertEqual(
         'first',
         node_struct(SwitchNode(2), [1, 'none', 1, 'first', 2, 'second'], [
             'value', 'default', 'test_0', 'return_0', 'test_1', 'return_1'
         ]).resolve_output('selected'))
     self.assertEqual(
         'second',
         node_struct(SwitchNode(2), [2, 'none', 1, 'first', 2, 'second'], [
             'value', 'default', 'test_0', 'return_0', 'test_1', 'return_1'
         ]).resolve_output('selected'))
     self.assertEqual(
         'none',
         node_struct(SwitchNode(2), [3, 'none', 1, 'first', 2, 'second'], [
             'value', 'default', 'test_0', 'return_0', 'test_1', 'return_1'
         ]).resolve_output('selected'))
Пример #14
0
    def test_node_output(self):
        self.assertEqual(
            'no iter',
            node_struct(LoopNode(), [False, 'no iter'],
                        ['iter', 'value']).resolve_output('value'))

        loop_node = LoopNode()
        inc_node = IncrementNode()
        ne_node = NotEqualsNode()
        BaseNode.connect(inc_node, loop_node, 'value', 'value')
        BaseNode.connect(inc_node, ne_node, 'increment', 'arg1')
        BaseNode.connect(DataSourceNode(5), ne_node, 'data', 'arg2')
        BaseNode.connect(ne_node, loop_node, 'result', 'iter')
        self.assertEqual(5, loop_node.resolve_output('value'))
Пример #15
0
 def test_node_output(self):
     self.assertEqual(0, VariableNode().resolve_output('value'))
     self.assertEqual(4, VariableNode(4).resolve_output('value'))
     self.assertEqual(
         4,
         node_struct(VariableNode(), [4],
                     ['value']).resolve_output('update'))
     var_node = VariableNode(1)
     multiply_node = MultiplyNode()
     BaseNode.connect(multiply_node, var_node, 'result', 'value')
     BaseNode.connect(var_node, multiply_node, 'value', 'arg1')
     BaseNode.connect(DataSourceNode(2), multiply_node, 'data', 'arg2')
     self.assertEqual(2, var_node.resolve_output('update'))
     self.assertEqual(4, var_node.resolve_output('update'))
     self.assertEqual(8, var_node.resolve_output('update'))
Пример #16
0
 def test_node_output(self):
     self.assertAlmostEqual(math.pi / 6., node_struct(ArctanNode(), [0.5 / (math.sqrt(3) / 2.)], ['in']).resolve_output('out'))
     self.assertAlmostEqual(math.pi / 4., node_struct(ArctanNode(), [1.], ['in']).resolve_output('out'))
Пример #17
0
 def test_node_output(self):
     self.assertAlmostEqual(0.5 / (math.sqrt(3) / 2.), node_struct(TanNode(), [math.pi / 6.], ['in']).resolve_output('out'))
     self.assertAlmostEqual(1., node_struct(TanNode(), [math.pi / 4.], ['in']).resolve_output('out'))
Пример #18
0
 def test_node_output(self):
     self.assertAlmostEqual(math.pi / 6., node_struct(ArccosNode(), [math.sqrt(3) / 2.], ['in']).resolve_output('out'))
     self.assertAlmostEqual(math.pi / 4., node_struct(ArccosNode(), [math.sqrt(2) / 2.], ['in']).resolve_output('out'))