def _test_one(self, input_text, parsed): self.assertEqual(build_eval_tree(tokenizer(input_text)).to_string(), parsed)
def _test_build_tree(input_text): ''' #### >>> _test_build_tree('3') #single number u'3' >>> _test_build_tree('1 + 2') #basic addition u'(1 + 2)' >>> _test_build_tree('2 * 3 + 4') #order of operations u'((2 * 3) + 4)' >>> _test_build_tree('2 * (3 + 4)') #parentheses u'(2 * (3 + 4))' >>> _test_build_tree('1 + 2 * 3 ** (4 + 3 / 5)') #more order of operations u'(1 + (2 * (3 ** (4 + (3 / 5)))))' >>> _test_build_tree('1 * ((3 + 4) * 5)') #nested parentheses at beginning u'(1 * ((3 + 4) * 5))' >>> _test_build_tree('1 * (5 * (3 + 4))') #nested parentheses at end u'(1 * (5 * (3 + 4)))' >>> _test_build_tree('1 * (5 * (3 + 4) / 6)') #nested parentheses in middle u'(1 * ((5 * (3 + 4)) / 6))' >>> _test_build_tree('-1') #unary u'(- 1)' >>> _test_build_tree('3 * -1') #unary u'(3 * (- 1))' >>> _test_build_tree('3 * --1') #double unary u'(3 * (- (- 1)))' >>> _test_build_tree('3 * -(2 + 4)') #parenthetical unary u'(3 * (- (2 + 4)))' >>> _test_build_tree('3 * -((2 + 4))') #parenthetical unary u'(3 * (- (2 + 4)))' >>> _test_build_tree('3 4') #implicit op u'(3 4)' >>> _test_build_tree('3 (2 + 4)') #implicit op, then parentheses u'(3 (2 + 4))' >>> _test_build_tree('(3 ** 4 ) 5') #parentheses, then implicit u'((3 ** 4) 5)' >>> _test_build_tree('3 4 ** 5') #implicit op, then exponentiation u'(3 (4 ** 5))' >>> _test_build_tree('3 4 + 5') #implicit op, then addition u'((3 4) + 5)' >>> _test_build_tree('3 ** 4 5') #power followed by implicit u'((3 ** 4) 5)' >>> _test_build_tree('3 (4 ** 5)') #implicit with parentheses u'(3 (4 ** 5))' >>> _test_build_tree('3e-1') #exponent with e u'3e-1' >>> _test_build_tree('kg ** 1 * s ** 2') #multiple units with exponents u'((kg ** 1) * (s ** 2))' >>> _test_build_tree('kg ** -1 * s ** -2') #multiple units with neg exponents u'((kg ** (- 1)) * (s ** (- 2)))' >>> _test_build_tree('kg^-1 * s^-2') #multiple units with neg exponents u'((kg ^ (- 1)) * (s ^ (- 2)))' >>> _test_build_tree('kg^-1 s^-2') #multiple units with neg exponents, implicit op u'((kg ^ (- 1)) (s ^ (- 2)))' >>> _test_build_tree('2 ^ 3 ^ 2') #nested power u'(2 ^ (3 ^ 2))' >>> _test_build_tree('gram * second / meter ** 2') #nested power u'((gram * second) / (meter ** 2))' >>> _test_build_tree('gram / meter ** 2 / second') #nested power u'((gram / (meter ** 2)) / second)' #units should behave like numbers, so we don't need a bunch of extra tests for them >>> _test_build_tree('3 kg + 5') #implicit op, then addition u'((3 kg) + 5)' ''' return build_eval_tree(tokenizer(input_text)).to_string()
def _test_one(self, input_text, parsed): self.assertEqual( build_eval_tree(tokenizer(input_text)).to_string(), parsed)
def _test_one(self, input_text, parsed): assert build_eval_tree(tokenizer(input_text)).to_string() == parsed