コード例 #1
0
 def test_parse_func_nested(self):
     g2 = parsing.ParsedFunction([['g', 2]])
     f1g = parsing.ParsedFunction([['f', 1, g2]])
     indata = 'f(1, g(2))'
     actual = parsing.parse_definition(indata)
     expected = f1g
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Function parsing failed')
コード例 #2
0
 def test_parse_func_sub_func(self):
     indata = 'f() - g(1)'
     actual = parsing.parse_definition(indata)
     f = parsing.ParsedFunction([['f']])
     g1 = parsing.ParsedFunction([['g', 1]])
     expected = parsing.ParsedBinOp([['-', f, g1]])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Subtraction operator parsing failed')
コード例 #3
0
 def test_parse_quote_funcarg_int(self):
     indata = 'f("1")'
     actual = parsing.parse_definition(indata)
     expected = parsing.ParsedFunction([['f', '1']])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'String parsing failed')
コード例 #4
0
 def test_parse_pos_func(self):
     indata = '+f()'
     actual = parsing.parse_definition(indata)
     expected = parsing.ParsedFunction([['f']])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Positive operator parsing failed')
コード例 #5
0
 def test_parse_func_arg(self):
     indata = 'f(1)'
     actual = parsing.parse_definition(indata)
     expected = parsing.ParsedFunction([['f', 1]])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Function parsing failed')
コード例 #6
0
 def test_pst_func_kwds(self):
     indata = (['x', 1, -3.2, ('x', 5)], {})
     pst = parsing.ParsedFunction(indata)
     actual = pst.kwds
     expected = {'x': 5}
     testname = 'ParsedFunction.__init__({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Args do not match')
コード例 #7
0
 def test_pst_func_args(self):
     indata = (['x', 1, -3.2], {})
     pst = parsing.ParsedFunction(indata)
     actual = pst.args
     expected = tuple(indata[0][1:])
     testname = 'ParsedFunction.__init__({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Args do not match')
コード例 #8
0
 def test_pst_func_key(self):
     indata = (['x', 1, -3.2], {})
     pst = parsing.ParsedFunction(indata)
     actual = pst.key
     expected = indata[0][0]
     testname = 'ParsedFunction.__init__({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Key does not match')
コード例 #9
0
 def test_pst_init_args(self):
     indata = (['x', 1, -3.2], {})
     pst = parsing.ParsedFunction(indata)
     actual = type(pst)
     expected = parsing.ParsedFunction
     testname = 'ParsedFunction.__init__({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Types do not match')
コード例 #10
0
 def test_parse_neg_func(self):
     indata = '-f()'
     actual = parsing.parse_definition(indata)
     f = parsing.ParsedFunction([['f']])
     expected = parsing.ParsedUniOp([['-', f]])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Negation parsing failed')
コード例 #11
0
 def test_parse_integrated_2(self):
     indata = '2-17.3*x / f(2.3, x[2:5])'
     actual = parsing.parse_definition(indata)
     x = parsing.ParsedVariable([['x']])
     x25 = parsing.ParsedVariable([['x', slice(2, 5)]])
     f = parsing.ParsedFunction([['f', 2.3, x25]])
     dxf = parsing.ParsedBinOp([['/', x, f]])
     m17p3dxf = parsing.ParsedBinOp([['*', 17.3, dxf]])
     expected = parsing.ParsedBinOp([['-', 2, m17p3dxf]])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, 'Integrated #2 operator parsing failed')