def test_evaluate_2(self): """evaluate: test de evaluacion 2 con resultado correcto y expresion con parentesis""" expr = '(a>3 and b<7) and (c=0 or d=1)' values = {'a': 5, 'b': 5, 'c': 0, 'd': 2} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_16(self): """evaluate: test de evaluacion 16 con resultado correcto devolviendo literal""" expr = '"hola"' values = {} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_equal(res, 'hola')
def test_evaluate_1(self): """evaluate: test de evaluacion 1 con resultado correcto y expresion simple""" expr = 'a>3 and b<=7' values = {'a': 5, 'b': 5, 'c': 0, 'd': 2} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_10(self): """evaluate: test de evaluacion 10 con resultado correcto y expresion algebraica compleja""" expr = '(3+5)*a-4*3+10/5' values = {'a': 2} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_equal(6, res)
def test_evaluate_11(self): """evaluate: test de evaluacion 11 con resultado correcto y expresion mixta booleana y algebraica""" expr = '(a+3)<b' values = {'a': 2, 'b': 10} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_8(self): """evaluate: test de evaluacion 8 con resultado correcto y expresion icontains""" expr = '"HOLAMUNDO" icontains "hola"' values = dict() ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_4(self): """evaluate: test de evaluacion 4 con resultado correcto y expresion con funcion simple, operadores de un argumento y comparaciones con booleanos""" expr = 'length[a]=9 and (not xxx and a contains "hola") and (b<10 or c=6) and xxx=False' values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_9(self): """evaluate: test de evaluacion 9 con resultado correcto y expresion algebraica simple""" expr = '3+5' # values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} values = dict() ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_equal(8, res)
def test_evaluate_7(self): """evaluate: test de evaluacion 7 con resultado correcto y expresion con funciones multiples, operadores de un argumento y comparaciones con booleanos""" expr = 'have_passed_time["2017-01-01 00:00:00", 60, weeks]' values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_6(self): """evaluate: test de evaluacion 6 con resultado correcto y expresion con funciones multiples, operadores de un argumento y comparaciones con booleanos""" expr = 'length["hola"]' values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_true(res)
def test_evaluate_12(self): """evaluate: test de evaluacion 12 con resultado correcto y expresion con funciones multiples, operadores de un argumento, expresiones algebraicas y comparaciones con booleanos""" expr = 'length[a]=9 and (not xxx and a contains "hola") and (b<10 or c=6) and (xxx=False and ' \ 'True=have_passed_time["2017-01-01 00:00:00",60,weeks]) and ((2*c)<b or (b+c)=50)' values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} ev = ExpressionEvaluator(expr) res = ev.evaluate(values) assert_false(res)
def evaluate(self, expr: str, values: dict, insert_additional_data: bool): ev = ExpressionEvaluator(expr) ev.set_additional_data( AdditionalServerData('local', self.ssh_host, self.ssh_port, self.ssh_username, self.ssh_password)) ev.add_function_package( 'common.infra_modules.monit_module.conditions_monit_module') result = ev.evaluate(values) return result
def test_evaluate_15(self): """evaluate: test de evaluacion 15 con resultado incorrecto por variable no encontrada""" expr = 'a>3 and b=7' values = {'a': 5} ev = ExpressionEvaluator(expr) ev.evaluate(values)
def test_evaluate_14(self): """evaluate: test de evaluacion 14 con resultado incorrecto por expresion mal formada""" expr = 'a>3 and b 7' values = {'a': 5, 'b': 5, 'c': 0, 'd': 2} ev = ExpressionEvaluator(expr) ev.evaluate(values)
def test_evaluate_13(self): """evaluate: test de evaluacion 13 con resultado incorrecto por expresion mal formada""" expr = 'have_passed_time[2017-01-01 00:00:00", 60, weeks]' values = {'a': 'holamundo', 'b': 8, 'c': 6, 'xxx': False} ev = ExpressionEvaluator(expr) ev.evaluate(values)