aboutsummaryrefslogtreecommitdiff
path: root/tests/test_evaluate_expression.py
blob: b5389e8f82dcf1f9426c6e402c922137155a45ae (plain)
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()