示例#1
0
 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))
示例#2
0
 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)
示例#3
0
 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)