Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/integration/test_operations.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/test_operations.py')
-rw-r--r--tests/integration/test_operations.py92
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)