diff options
Diffstat (limited to 'tests/integration/test_operations.py')
-rw-r--r-- | tests/integration/test_operations.py | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/tests/integration/test_operations.py b/tests/integration/test_operations.py new file mode 100644 index 0000000..dc0aeff --- /dev/null +++ b/tests/integration/test_operations.py @@ -0,0 +1,92 @@ +#!/usr/bin/python +# -*- coding: UTF-8 -*- + +from sugar3.test import unittest +from sugar3.test import uitree + + +class TestHelper: + """Basic helper class for Calculate tests""" + + def get_result(self, activity_node): + equal_button = activity_node.find_child(name="=", + role_name="push button") + equal_button.do_action("click") + + resultbox = activity_node.find_children(name="", role_name="text") + return resultbox[0].text + + def get_activity(self): + root = uitree.get_root() + activity = root.find_child(name="Calculate Activity", + role_name="frame") + return activity + + def click_button(self, activity, name): + button1 = activity.find_child(name=name, role_name="push button") + button1.do_action("click") + + def type_number(self, activity, number): + number = str(number) + for char in number: + self.click_button(activity, char) + + +class OperationsTest(unittest.UITestCase, TestHelper): + + def setUp(self): + unittest.UITestCase.setUp(self) + self.bundle_id = "org.laptop.Calculate" + + def test_add_button(self): + with self.run_activity(): + activity = self.get_activity() + + self.click_button(activity, "1") + self.click_button(activity, "+") + self.click_button(activity, "1") + + result = self.get_result(activity) + self.assertEqual(result, "1+1\n2") + + def test_subtract_button(self): + with self.run_activity(): + activity = self.get_activity() + + self.click_button(activity, "1") + self.click_button(activity, "-") + self.click_button(activity, "1") + + result = self.get_result(activity) + self.assertEqual(result, "1-1\n0") + + def test_multiply_button(self): + with self.run_activity(): + activity = self.get_activity() + + self.click_button(activity, "2") + self.click_button(activity, "×") + self.click_button(activity, "2") + + result = self.get_result(activity) + self.assertEqual(result, "2×2\n4") + + def test_divide_button(self): + with self.run_activity(): + activity = self.get_activity() + + self.click_button(activity, "8") + self.click_button(activity, "÷") + self.click_button(activity, "2") + + result = self.get_result(activity) + self.assertEqual(result, "8÷2\n4") + + def test_numbers_present(self): + with self.run_activity(): + activity = self.get_activity() + + for i in range(0, 10): + btn = activity.find_child(name=str(i), + role_name="push button") + self.assertIsNotNone(btn) |