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')
def test_parse_integer_large(self): indata = "98734786423867234" actual = parsing.parse_definition(indata) expected = int(indata) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Integer parsing failed")
def test_parse_float_dec_long(self): indata = "1.8374755" actual = parsing.parse_definition(indata) expected = float(indata) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Float parsing failed")
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")
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")
def test_parse_var_slice_partial_3(self): indata = "x[::-1]" actual = parsing.parse_definition(indata) expected = parsing.VarType("x", [slice(None, None, -1)]) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Variable parsing failed")
def test_parse_neg_float(self): indata = "-1.4" actual = parsing.parse_definition(indata) expected = -1.4 testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Negation parsing failed")
def test_parse_pos_var(self): indata = '+x[1]' actual = parsing.parse_definition(indata) expected = parsing.ParsedVariable([['x', 1]]) 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')
def test_parse_int_add_int(self): indata = '2+1' actual = parsing.parse_definition(indata) expected = parsing.ParsedBinOp([['+', 2, 1]]) 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')
def test_parse_pos_integer(self): indata = '+1' actual = parsing.parse_definition(indata) expected = 1 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')
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')
def test_parse_neg_float(self): indata = '-1.4' actual = parsing.parse_definition(indata) expected = parsing.ParsedUniOp([['-', 1.4]]) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Negation parsing failed')
def test_parse_var_slice_partial_3(self): indata = 'x[::-1]' actual = parsing.parse_definition(indata) expected = parsing.ParsedVariable([['x', slice(None, None, -1)]]) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Variable parsing failed')
def test_parse_var_none_slice(self): indata = 'x[,1:2:3]' actual = parsing.parse_definition(indata) expected = parsing.ParsedVariable([['x', None, slice(1, 2, 3)]]) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Variable parsing failed')
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")
def test_parse_float_sub_float(self): indata = '2.4-1e7' actual = parsing.parse_definition(indata) expected = parsing.ParsedBinOp([['-', 2.4, 1e7]]) 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')
def test_parse_var_int_slice(self): indata = "x[3,1:2]" actual = parsing.parse_definition(indata) expected = parsing.VarType("x", [3, slice(1, 2, None)]) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Variable parsing failed")
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')
def test_parse_var_time(self): indata = "time" actual = parsing.parse_definition(indata) expected = parsing.VarType("time") testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Variable time parsing failed")
def test_parse_float_dec_nofirst_neg_exp(self): indata = ".324523e-7" actual = parsing.parse_definition(indata) expected = float(indata) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Float parsing failed")
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")
def test_parse_integrated_4(self): indata = "2-3/4*2+1" actual = parsing.parse_definition(indata) expected = 2 - 0.75 * 2 + 1 testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Integrated #4 operator parsing failed")
def test_parse_float_dec_nofirst_pos_exp(self): indata = '.324523e+7' actual = parsing.parse_definition(indata) expected = float(indata) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Float parsing failed')
def test_parse_int_add_int(self): indata = "2+1" actual = parsing.parse_definition(indata) expected = 3 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")
def test_parse_float_sub_float(self): indata = "2.4-1e7" actual = parsing.parse_definition(indata) expected = 2.4 - 1e7 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")
def test_parse_float_pow_float(self): indata = "2.4 ** 3.5" actual = parsing.parse_definition(indata) expected = 2.4 ** 3.5 testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Power operator parsing failed")
def test_parse_pos_var(self): indata = "+x[1]" actual = parsing.parse_definition(indata) expected = parsing.VarType("x", [1]) 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")
def test_parse_pos_float(self): indata = "+1e7" actual = parsing.parse_definition(indata) expected = 1e7 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")
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")
def test_parse_neg_var(self): indata = "-x" actual = parsing.parse_definition(indata) x = parsing.VarType("x") expected = parsing.OpType("-", [x]) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Negation parsing failed")