def test_simple_eval_0(self): # FYI: in my mind at least, it's easy to call simple_eval instead of run_simple_eval. # value triples: (string, number, concept_id) values= [ ['foo', 2, 3579], ['bar', 5, 122346], ['baz', 8, 9876] ] names=['a', 'b', 'c'] expression='a+b+c' self.assertEqual(run_simple_eval(None, values, names, expression), 15)
def test_simple_eval_5(self): values= [ ('foo', None, 3579), ('bar', None, 122346), ('baz', 8, 9876) ] names=['a', 'b', 'c'] expression='a+b+c' self.assertEqual(run_simple_eval(None, values, names, expression), None)
def test_simple_eval_1_string_legit(self): values= [ ('foo', '2', 3579), ('bar', '5.2', 122346), ('baz', '8.3', 9876) ] names=['a', 'b', 'c'] expression='a+b+c' self.assertTrue(abs(run_simple_eval(None, values, names, expression) - 15.5) < 0.000001)
def test_simple_eval_1_string(self): values= [ ('foo', 'x', 3579), ('bar', 5.2, 122346), ('baz', 8.3, 9876) ] names=['a', 'b', 'c'] expression='a+b+c' with self.assertRaisesMessage(InputError, '0 value could not be cast as float x'): run_simple_eval(None, values, names, expression)
def test_simple_eval_1_fi(self): values= [ ('foo', 2, 3579), ('bar', 5.2, 122346), ('baz', 8.3, 9876) ] names=['a', 'b', 'c'] expression='a+b+c' self.assertTrue(abs(run_simple_eval(None, values, names, expression) - 15.5) < 0.000001)
def test_simple_eval_0a(self): values= [ ['foo', 2, 3579], ['bar', 5, 122346], ['baz', 8, 9876] ] names=['a', 'b'] expression='a+b+c' with self.assertRaisesMessage(InputError, 'different number of values and names in run_simple_eval'): run_simple_eval(None, values, names, expression)