Пример #1
0
 def test_parse_func_sub_func(self):
     indata = "f() - g(1)"
     actual = parsing.parse_definition(indata)
     f = parsing.FuncType("f")
     g1 = parsing.FuncType("g", [1])
     expected = parsing.OpType("-", [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")
Пример #2
0
 def test_parse_func_nested(self):
     indata = "f(1, g(2))"
     g2 = parsing.FuncType("g", [2])
     f1g = parsing.FuncType("f", [1, g2])
     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")
Пример #3
0
 def test_parse_integrated_5(self):
     indata = 'mean(chunits(time_bnds, units=time), "bnds")'
     actual = parsing.parse_definition(indata)
     time = parsing.VarType("time")
     time_bnds = parsing.VarType("time_bnds")
     chunits = parsing.FuncType("chunits", [time_bnds], {"units": time})
     expected = parsing.FuncType("mean", [chunits, "bnds"])
     testname = "parse_definition({0!r})".format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, "Integrated #5 operator parsing failed")
Пример #4
0
 def test_parse_func_nested(self):
     indata = 'f(1, g(2))'
     g2 = parsing.FuncType('g', [2])
     f1g = parsing.FuncType('f', [1, g2])
     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')
Пример #5
0
 def test_parse_func_add_func(self):
     indata = 'f() + g(1)'
     actual = parsing.parse_definition(indata)
     f = parsing.FuncType('f')
     g1 = parsing.FuncType('g', [1])
     expected = parsing.OpType('+', [f, g1])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname,
                        indata=indata,
                        actual=actual,
                        expected=expected)
     self.assertEqual(actual, expected, 'Addition operator parsing failed')
Пример #6
0
 def test_parse_integrated_5(self):
     indata = 'mean(chunits(time_bnds, units=time), "bnds")'
     actual = parsing.parse_definition(indata)
     time = parsing.VarType('time')
     time_bnds = parsing.VarType('time_bnds')
     chunits = parsing.FuncType('chunits', [time_bnds], {'units': time})
     expected = parsing.FuncType('mean', [chunits, 'bnds'])
     testname = 'parse_definition({0!r})'.format(indata)
     print_test_message(testname,
                        indata=indata,
                        actual=actual,
                        expected=expected)
     self.assertEqual(actual, expected,
                      'Integrated #5 operator parsing failed')
Пример #7
0
 def test_parse_pos_func(self):
     indata = "+f()"
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType("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")
Пример #8
0
 def test_parse_func_arg(self):
     indata = "f(1)"
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType("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")
Пример #9
0
 def test_parse_quote_funcarg_escaped(self):
     indata = "f('\"1\"')"
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType("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")
Пример #10
0
 def test_parse_quote_funcarg_kwd(self):
     indata = 'f(a="1")'
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType("f", [], {"a": "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")
Пример #11
0
 def test_parse_quote_funcarg_func(self):
     indata = 'g("f(x,y,z)")'
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType("g", ["f(x,y,z)"])
     testname = "parse_definition({0!r})".format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, "String parsing failed")
Пример #12
0
 def test_pst_func_kwds(self):
     indata = ["x", [1, -3.2], {"x": 5}]
     pst = parsing.FuncType(*indata)
     actual = pst.kwds
     expected = {"x": 5}
     testname = "FuncType.__init__({0!r})".format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, "Args do not match")
Пример #13
0
 def test_parse_neg_func(self):
     indata = "-f()"
     actual = parsing.parse_definition(indata)
     f = parsing.FuncType("f")
     expected = parsing.OpType("-", [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")
Пример #14
0
 def test_pst_init_args(self):
     indata = (["x", 1, -3.2], {})
     pst = parsing.FuncType(indata)
     actual = type(pst)
     expected = parsing.FuncType
     testname = "FuncType.__init__({0!r})".format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, "Types do not match")
Пример #15
0
 def test_pst_func_key(self):
     indata = ["x", [1, -3.2], {}]
     pst = parsing.FuncType(*indata)
     actual = pst.key
     expected = indata[0]
     testname = "FuncType.__init__({0!r})".format(indata)
     print_test_message(testname, indata=indata, actual=actual, expected=expected)
     self.assertEqual(actual, expected, "Key does not match")
Пример #16
0
 def test_parse_pos_func(self):
     indata = '+f()'
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType('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')
Пример #17
0
 def test_parse_func_arg(self):
     indata = 'f(1)'
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType('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')
Пример #18
0
 def test_parse_quote_funcarg_escaped(self):
     indata = 'f(\'"1"\')'
     actual = parsing.parse_definition(indata)
     expected = parsing.FuncType('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')
Пример #19
0
 def test_pst_func_args(self):
     indata = ['x', [1, -3.2], {}]
     pst = parsing.FuncType(*indata)
     actual = pst.args
     expected = indata[1]
     testname = 'FuncType.__init__({0!r})'.format(indata)
     print_test_message(testname,
                        indata=indata,
                        actual=actual,
                        expected=expected)
     self.assertEqual(actual, expected, 'Args do not match')
Пример #20
0
 def test_parse_neg_func(self):
     indata = '-f()'
     actual = parsing.parse_definition(indata)
     f = parsing.FuncType('f')
     expected = parsing.OpType('-', [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')
Пример #21
0
 def test_funcpst_init(self):
     indata = (['x'], {})
     pst = parsing.FuncType(indata)
     actual = type(pst)
     expected = parsing.FuncType
     testname = 'FuncType.__init__({0!r})'.format(indata)
     print_test_message(testname,
                        indata=indata,
                        actual=actual,
                        expected=expected)
     self.assertEqual(actual, expected, 'Types do not match')
Пример #22
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.VarType("x")
     x25 = parsing.VarType("x", [slice(2, 5)])
     f = parsing.FuncType("f", [2.3, x25])
     m17p3x = parsing.OpType("*", [17.3, x])
     dm17p3xf = parsing.OpType("/", [m17p3x, f])
     expected = parsing.OpType("-", [2, dm17p3xf])
     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")
Пример #23
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.VarType('x')
     x25 = parsing.VarType('x', [slice(2, 5)])
     f = parsing.FuncType('f', [2.3, x25])
     m17p3x = parsing.OpType('*', [17.3, x])
     dm17p3xf = parsing.OpType('/', [m17p3x, f])
     expected = parsing.OpType('-', [2, dm17p3xf])
     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')