def test_parse_integrated_3(self): indata = '2-3+1' actual = parsing.parse_definition(indata) m23 = parsing.ParsedBinOp([['-', 2, 3]]) expected = parsing.ParsedBinOp([['+', m23, 1]]) testname = 'parse_definition({0!r})'.format(indata) print_test_message(testname, indata=indata, actual=actual, expected=expected) self.assertEqual(actual, expected, 'Integrated #3 operator parsing failed')
def test_parse_integrated_4(self): indata = '2-3/4*2+1' actual = parsing.parse_definition(indata) d34 = parsing.ParsedBinOp([['/', 3, 4]]) d34m2 = parsing.ParsedBinOp([['*', d34, 2]]) s2d34m2 = parsing.ParsedBinOp([['-', 2, d34m2]]) expected = parsing.ParsedBinOp([['+', s2d34m2, 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_integrated_1(self): indata = '2-17.3*x**2' actual = parsing.parse_definition(indata) x = parsing.ParsedVariable([['x']]) x2 = parsing.ParsedBinOp([['**', x, 2]]) m17p3x2 = parsing.ParsedBinOp([['*', 17.3, x2]]) expected = parsing.ParsedBinOp([['-', 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_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')
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_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_operpst_init(self): indata = (['x'], {}) pst = parsing.ParsedBinOp(indata) actual = type(pst) expected = parsing.ParsedBinOp testname = 'ParsedBinOp.__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_var_sub_var(self): indata = 'x[1] - y' actual = parsing.parse_definition(indata) x1 = parsing.ParsedVariable([['x', 1]]) y = parsing.ParsedVariable([['y']]) expected = parsing.ParsedBinOp([['-', 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_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')