1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
import unittest
import dialoguer
class TestEvaluateExpression(unittest.TestCase):
# @classmethod
# def setUpClass(cls):
# source_file_path = __file__.replace('.py', '.r')
# cls.src_fil_r = dialoguer.Dialogue(source_file_path)
# @classmethod
# def tearDownClass(cls):
# cls.src_fil_r.close()
def setUp(self):
source_file_path = __file__.replace('.py', '.r')
self.src_fil_r = dialoguer.Dialogue(source_file_path)
def tearDown(self):
self.src_fil_r.close()
def test_built_in_method(self):
res_1 = self.src_fil_r.evaluate_expression('sum', 1, 2)
self.assertEqual(res_1, 3)
def test_defined_method(self):
res_1 = self.src_fil_r.evaluate_expression('test_method', 1, 2)
self.assertEqual(res_1, 3)
def test_kwargs(self):
kwargs = {
'arg_1': 2,
'arg_2': 3
}
res_1 = self.src_fil_r.evaluate_expression('test_kwargs', **kwargs)
self.assertEqual(res_1, 6)
def test_args_and_kwargs(self):
args = [2, 3]
kwargs = {
'kwarg_1': 2,
'kwarg_2': 3
}
res_1 = self.src_fil_r.evaluate_expression('test_args_and_kwargs', *args, **kwargs)
res_ctrl = args[0] * args[1] * kwargs['kwarg_1'] * kwargs['kwarg_2']
self.assertEqual(res_ctrl, res_1)
def test_args_and_default_kwargs(self):
args = [2, 3]
kwargs = {
'kwarg_2': 3
}
res_1 = self.src_fil_r.evaluate_expression('test_args_and_kwargs', *args, **kwargs)
res_ctrl = args[0] * args[1] * 1 * kwargs['kwarg_2']
self.assertEqual(res_ctrl, res_1)
if __name__ == '__main__':
unittest.main()
|