def test_ast_expression_unary_not(self): for value in trueish: unary = ast.UnaryExpression(context, 'not', value) self.assertFalse(unary.evaluate(None)) for value in falseish: unary = ast.UnaryExpression(context, 'not', value) self.assertTrue(unary.evaluate(None))
def test_ast_expression_unary_uminus(self): for value in trueish: if not isinstance(value, ast.FloatExpression): continue unary = ast.UnaryExpression(context, 'uminus', value) result = unary.evaluate(None) self.assertTrue(result) self.assertNotEqual(result, value.value) for value in falseish: if not isinstance(value, ast.FloatExpression): continue unary = ast.UnaryExpression(context, 'uminus', value) result = unary.evaluate(None) self.assertFalse(result) self.assertEqual(result, value.value)
def test_ast_expresison_unary_minus_type_errors(self): for value in trueish + falseish: if isinstance(value, ast.FloatExpression): continue unary = ast.UnaryExpression(context, 'uminus', value) with self.assertRaises(errors.EvaluationError): unary.evaluate(None)