aboutsummaryrefslogtreecommitdiff
path: root/tests/test_evaluate_expression.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_evaluate_expression.py')
-rw-r--r--tests/test_evaluate_expression.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_evaluate_expression.py b/tests/test_evaluate_expression.py
new file mode 100644
index 0000000..b5389e8
--- /dev/null
+++ b/tests/test_evaluate_expression.py
@@ -0,0 +1,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()