def test_parse_var_sub_var(self): indata = "x[1] - y" actual = parsing.parse_definition(indata) x1 = parsing.VarType("x", [1]) y = parsing.VarType("y") expected = parsing.OpType("-", [x1, y]) 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_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")
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")
def test_parse_var_add_var(self): indata = 'x[1] + y' actual = parsing.parse_definition(indata) x1 = parsing.VarType('x', [1]) y = parsing.VarType('y') expected = parsing.OpType('+', [x1, y]) 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_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')
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')
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_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_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_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_varpst_init(self): indata = ["x"] pst = parsing.VarType(*indata) actual = type(pst) expected = parsing.VarType testname = "VarType.__init__({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Types do not match")
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")
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_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_var_slice_partial_2(self): indata = 'x[:2]' actual = parsing.parse_definition(indata) expected = parsing.VarType('x', [slice(None, 2)]) 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_integrated_1(self): indata = "2-17.3*x**2" actual = parsing.parse_definition(indata) x = parsing.VarType("x") x2 = parsing.OpType("**", [x, 2]) m17p3x2 = parsing.OpType("*", [17.3, x2]) expected = parsing.OpType("-", [2, m17p3x2]) testname = "parse_definition({0!r})".format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, "Integrated #1 operator 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')
def test_parse_integrated_1(self): indata = '2-17.3*x**2' actual = parsing.parse_definition(indata) x = parsing.VarType('x') x2 = parsing.OpType('**', [x, 2]) m17p3x2 = parsing.OpType('*', [17.3, x2]) expected = parsing.OpType('-', [2, m17p3x2]) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Integrated #1 operator parsing failed')