Exemplo n.º 1
0
 def test_variables_dict(self):
     stats = {'iops': 1000, 'usage': 0.65, 'count': 503, 'free_space': 407}
     request = {'iops': 500, 'size': 4}
     self.assertEqual(
         1500,
         evaluator.evaluate("stats.iops + request.iops",
                            stats=stats,
                            request=request))
Exemplo n.º 2
0
 def test_comparisons(self):
     self.assertEqual(True, evaluate("1 < 2"))
     self.assertEqual(True, evaluate("2 > 1"))
     self.assertEqual(True, evaluate("2 != 1"))
     self.assertEqual(False, evaluate("1 > 2"))
     self.assertEqual(False, evaluate("2 < 1"))
     self.assertEqual(False, evaluate("2 == 1"))
     self.assertEqual(True, evaluate("(1 == 1) == !(1 == 2)"))
Exemplo n.º 3
0
 def test_comparisons(self):
     self.assertEqual(True, evaluate("1 < 2"))
     self.assertEqual(True, evaluate("2 > 1"))
     self.assertEqual(True, evaluate("2 != 1"))
     self.assertEqual(False, evaluate("1 > 2"))
     self.assertEqual(False, evaluate("2 < 1"))
     self.assertEqual(False, evaluate("2 == 1"))
     self.assertEqual(True, evaluate("(1 == 1) == !(1 == 2)"))
Exemplo n.º 4
0
 def test_simple_integer(self):
     self.assertEqual(2, evaluate("1+1"))
     self.assertEqual(9, evaluate("2+3+4"))
     self.assertEqual(23, evaluate("11+12"))
     self.assertEqual(30, evaluate("5*6"))
     self.assertEqual(2, evaluate("22/11"))
     self.assertEqual(38, evaluate("109-71"))
     self.assertEqual(493, evaluate("872 - 453 + 44 / 22 * 4 + 66"))
Exemplo n.º 5
0
 def test_comparisons(self):
     self.assertTrue(evaluator.evaluate("1 < 2"))
     self.assertTrue(evaluator.evaluate("2 > 1"))
     self.assertTrue(evaluator.evaluate("2 != 1"))
     self.assertFalse(evaluator.evaluate("1 > 2"))
     self.assertFalse(evaluator.evaluate("2 < 1"))
     self.assertFalse(evaluator.evaluate("2 == 1"))
     self.assertTrue(evaluator.evaluate("(1 == 1) == !(1 == 2)"))
Exemplo n.º 6
0
 def test_simple_integer(self):
     self.assertEqual(2, evaluate("1+1"))
     self.assertEqual(9, evaluate("2+3+4"))
     self.assertEqual(23, evaluate("11+12"))
     self.assertEqual(30, evaluate("5*6"))
     self.assertEqual(2, evaluate("22/11"))
     self.assertEqual(38, evaluate("109-71"))
     self.assertEqual(493, evaluate("872 - 453 + 44 / 22 * 4 + 66"))
Exemplo n.º 7
0
 def test_parentheses(self):
     self.assertEqual(1, evaluator.evaluate("(1)"))
     self.assertEqual(-1, evaluator.evaluate("(-1)"))
     self.assertEqual(2, evaluator.evaluate("(1+1)"))
     self.assertEqual(15, evaluator.evaluate("(1+2) * 5"))
     self.assertEqual(3, evaluator.evaluate("(1+2)*(3-1)/((1+(2-1)))"))
     self.assertEqual(-8.0, evaluator.evaluate("((1.0 / 0.5) * (2)) *(-2)"))
Exemplo n.º 8
0
 def test_parentheses(self):
     self.assertEqual(1, evaluate("(1)"))
     self.assertEqual(-1, evaluate("(-1)"))
     self.assertEqual(2, evaluate("(1+1)"))
     self.assertEqual(15, evaluate("(1+2) * 5"))
     self.assertEqual(3, evaluate("(1+2)*(3-1)/((1+(2-1)))"))
     self.assertEqual(-8.0, evaluate("((1.0 / 0.5) * (2)) *(-2)"))
Exemplo n.º 9
0
    def _run_evaluator(self, func, stats):
        """Evaluates a given function using the provided available stats."""
        host_stats = stats['host_stats']
        host_caps = stats['host_caps']
        extra_specs = stats['extra_specs']
        qos_specs = stats['qos_specs']
        volume_stats = stats['volume_stats']

        result = evaluator.evaluate(func,
                                    extra=extra_specs,
                                    stats=host_stats,
                                    capabilities=host_caps,
                                    volume=volume_stats,
                                    qos=qos_specs)

        return result
Exemplo n.º 10
0
    def _run_evaluator(self, func, stats):
        """Evaluates a given function using the provided available stats."""
        host_stats = stats['host_stats']
        host_caps = stats['host_caps']
        extra_specs = stats['extra_specs']
        qos_specs = stats['qos_specs']
        volume_stats = stats['volume_stats']

        result = evaluator.evaluate(
            func,
            extra=extra_specs,
            stats=host_stats,
            capabilities=host_caps,
            volume=volume_stats,
            qos=qos_specs)

        return result
Exemplo n.º 11
0
    def test_logic_ops(self):
        self.assertTrue(evaluator.evaluate("(1 == 1) AND (2 == 2)"))
        self.assertTrue(evaluator.evaluate("(1 == 1) and (2 == 2)"))
        self.assertTrue(evaluator.evaluate("(1 == 1) && (2 == 2)"))
        self.assertFalse(evaluator.evaluate("(1 == 1) && (5 == 2)"))

        self.assertTrue(evaluator.evaluate("(1 == 1) OR (5 == 2)"))
        self.assertTrue(evaluator.evaluate("(1 == 1) or (5 == 2)"))
        self.assertTrue(evaluator.evaluate("(1 == 1) || (5 == 2)"))
        self.assertFalse(evaluator.evaluate("(5 == 1) || (5 == 2)"))

        self.assertFalse(evaluator.evaluate("(1 == 1) AND NOT (2 == 2)"))
        self.assertFalse(evaluator.evaluate("(1 == 1) AND not (2 == 2)"))
        self.assertFalse(evaluator.evaluate("(1 == 1) AND !(2 == 2)"))
        self.assertTrue(evaluator.evaluate("(1 == 1) AND NOT (5 == 2)"))
        self.assertTrue(
            evaluator.evaluate("(1 == 1) OR NOT (2 == 2) "
                               "AND (5 == 5)"))
Exemplo n.º 12
0
 def test_ternary_conditional(self):
     self.assertEqual(5, evaluator.evaluate("(1 < 2) ? 5 : 10"))
     self.assertEqual(10, evaluator.evaluate("(1 > 2) ? 5 : 10"))
Exemplo n.º 13
0
 def test_simple_float(self):
     self.assertEqual(2.0, evaluate("1.0 + 1.0"))
     self.assertEqual(2.5, evaluate("1.5 + 1.0"))
     self.assertEqual(3.0, evaluate("1.5 * 2.0"))
Exemplo n.º 14
0
 def test_deep_function(self):
     """Ensures that maximum recursion depth is not exceeded."""
     self.assertGreater(
         evaluator.evaluate('(((1 + max(1 + (10 / 20), 2, 3)) / 100) + 1)'),
         1)
Exemplo n.º 15
0
 def test_exponent(self):
     self.assertEqual(8, evaluator.evaluate("2^3"))
     self.assertEqual(-8, evaluator.evaluate("-2 ^ 3"))
     self.assertEqual(15.625, evaluator.evaluate("2.5 ^ 3"))
     self.assertEqual(8, evaluator.evaluate("4 ^ 1.5"))
Exemplo n.º 16
0
 def test_function(self):
     self.assertEqual(5, evaluator.evaluate("abs(-5)"))
     self.assertEqual(2, evaluator.evaluate("abs(2)"))
     self.assertEqual(1, evaluator.evaluate("min(1, 100)"))
     self.assertEqual(100, evaluator.evaluate("max(1, 100)"))
Exemplo n.º 17
0
 def test_int_float_mix(self):
     self.assertEqual(2.5, evaluator.evaluate("1.5 + 1"))
     self.assertEqual(4.25, evaluator.evaluate("8.5 / 2"))
     self.assertEqual(5.25, evaluator.evaluate("10/4+0.75    + 2"))
Exemplo n.º 18
0
 def test_exponent(self):
     self.assertEqual(8, evaluate("2^3"))
     self.assertEqual(-8, evaluate("-2 ^ 3"))
     self.assertEqual(15.625, evaluate("2.5 ^ 3"))
     self.assertEqual(8, evaluate("4 ^ 1.5"))
Exemplo n.º 19
0
 def test_variables_dict(self):
     stats = {'iops': 1000, 'usage': 0.65, 'count': 503, 'free_space': 407}
     request = {'iops': 500, 'size': 4}
     self.assertEqual(1500, evaluate("stats.iops + request.iops",
                                     stats=stats, request=request))
Exemplo n.º 20
0
 def test_simple_float(self):
     self.assertEqual(2.0, evaluator.evaluate("1.0 + 1.0"))
     self.assertEqual(2.5, evaluator.evaluate("1.5 + 1.0"))
     self.assertEqual(3.0, evaluator.evaluate("1.5 * 2.0"))
Exemplo n.º 21
0
 def test_ternary_conditional(self):
     self.assertEqual(5, evaluate("(1 < 2) ? 5 : 10"))
     self.assertEqual(10, evaluate("(1 > 2) ? 5 : 10"))
Exemplo n.º 22
0
 def test_int_float_mix(self):
     self.assertEqual(2.5, evaluate("1.5 + 1"))
     self.assertEqual(4.25, evaluate("8.5 / 2"))
     self.assertEqual(5.25, evaluate("10/4+0.75    + 2"))
Exemplo n.º 23
0
 def test_negative_numbers(self):
     self.assertEqual(-2, evaluate("-2"))
     self.assertEqual(-1, evaluate("-2+1"))
     self.assertEqual(3, evaluate("5+-2"))
Exemplo n.º 24
0
    def test_logic_ops(self):
        self.assertEqual(True, evaluate("(1 == 1) AND (2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) and (2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) && (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) && (5 == 2)"))

        self.assertEqual(True, evaluate("(1 == 1) OR (5 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) or (5 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) || (5 == 2)"))
        self.assertEqual(False, evaluate("(5 == 1) || (5 == 2)"))

        self.assertEqual(False, evaluate("(1 == 1) AND NOT (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) AND not (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) AND !(2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) AND NOT (5 == 2)"))
        self.assertEqual(True,
                         evaluate("(1 == 1) OR NOT (2 == 2) AND (5 == 5)"))
Exemplo n.º 25
0
 def test_negative_numbers(self):
     self.assertEqual(-2, evaluator.evaluate("-2"))
     self.assertEqual(-1, evaluator.evaluate("-2+1"))
     self.assertEqual(3, evaluator.evaluate("5+-2"))
Exemplo n.º 26
0
    def test_logic_ops(self):
        self.assertEqual(True, evaluate("(1 == 1) AND (2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) and (2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) && (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) && (5 == 2)"))

        self.assertEqual(True, evaluate("(1 == 1) OR (5 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) or (5 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) || (5 == 2)"))
        self.assertEqual(False, evaluate("(5 == 1) || (5 == 2)"))

        self.assertEqual(False, evaluate("(1 == 1) AND NOT (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) AND not (2 == 2)"))
        self.assertEqual(False, evaluate("(1 == 1) AND !(2 == 2)"))
        self.assertEqual(True, evaluate("(1 == 1) AND NOT (5 == 2)"))
        self.assertEqual(True,
                         evaluate("(1 == 1) OR NOT (2 == 2) AND (5 == 5)"))
Exemplo n.º 27
0
 def test_function(self):
     self.assertEqual(5, evaluate("abs(-5)"))
     self.assertEqual(2, evaluate("abs(2)"))
     self.assertEqual(1, evaluate("min(1, 100)"))
     self.assertEqual(100, evaluate("max(1, 100)"))