From 9fafb49af210e956d43d6a00106558d1a00d13df Mon Sep 17 00:00:00 2001 From: Simon Poirier Date: Thu, 02 Jul 2009 05:27:27 +0000 Subject: * Modularized actions and event filters through add-on components * Working serialization * Working editor with addons * began refactoring actions and events ** fixed some tests to work with addons ** filters and actions tests won't pass until refactoring is done --- (limited to 'src/sugar/tutorius/tests/serializertests.py') diff --git a/src/sugar/tutorius/tests/serializertests.py b/src/sugar/tutorius/tests/serializertests.py index 097e570..6c25bae 100644 --- a/src/sugar/tutorius/tests/serializertests.py +++ b/src/sugar/tutorius/tests/serializertests.py @@ -25,19 +25,16 @@ tutorial. import unittest -import logging -import linecache import os import shutil -from sugar.tutorius import gtkutils, overlayer -from sugar.tutorius.core import Tutorial, State, FiniteStateMachine +from sugar.tutorius import bundler, addon +from sugar.tutorius.core import State, FiniteStateMachine from sugar.tutorius.actions import * from sugar.tutorius.filters import * from sugar.tutorius.bundler import XMLSerializer, Serializer import sugar -from uuid import * -import rpdb2 +from uuid import uuid1 class SerializerInterfaceTest(unittest.TestCase): """ @@ -77,9 +74,9 @@ class XMLSerializerTest(unittest.TestCase): self.fsm = FiniteStateMachine("testingMachine") # Add a few states - act1 = BubbleMessage(message="Hi", pos=[300, 450]) - ev1 = GtkWidgetEventFilter("0.12.31.2.2", "clicked", "Second") - act2 = BubbleMessage(message="Second message", pos=[250, 150], tailpos=[1,2]) + act1 = addon.create('BubbleMessage', message="Hi", pos=[300, 450]) + ev1 = addon.create('GtkWidgetEventFilter', "0.12.31.2.2", "clicked", "Second") + act2 = addon.create('BubbleMessage', message="Second message", pos=[250, 150], tailpos=[1,2]) st1 = State("INIT") st1.add_action(act1) @@ -103,7 +100,6 @@ class XMLSerializerTest(unittest.TestCase): Removes the created files, if need be. """ if self.remove == True: - os.remove(os.path.join(sugar.tutorius.bundler._get_store_root(), str(self.uuid)) + "/fsm.xml") shutil.rmtree(os.path.join(os.getenv("HOME"),".sugar",os.getenv("SUGAR_PROFILE"))) if os.path.isdir(self.testpath): shutil.rmtree(self.testpath) @@ -116,7 +112,7 @@ class XMLSerializerTest(unittest.TestCase): xml_ser = XMLSerializer() os.makedirs(os.path.join(sugar.tutorius.bundler._get_store_root(), str(self.uuid))) #rpdb2.start_embedded_debugger('flakyPass') - xml_ser.save_fsm(self.fsm, "fsm.xml", os.path.join(sugar.tutorius.bundler._get_store_root(), str(self.uuid))) + xml_ser.save_fsm(self.fsm, bundler.TUTORIAL_FILENAME, os.path.join(sugar.tutorius.bundler._get_store_root(), str(self.uuid))) def test_save_and_load(self): """ @@ -136,8 +132,8 @@ class XMLSerializerTest(unittest.TestCase): 'FSM underlying dictionary differ from original to pickled/reformed one' assert loaded_fsm._states.get("Second").name == self.fsm._states.get("Second").name, \ 'FSM underlying dictionary differ from original to pickled/reformed one' - assert loaded_fsm._states.get("INIT").get_action_list()[0].message.value == \ - self.fsm._states.get("INIT").get_action_list()[0].message.value, \ + assert loaded_fsm._states.get("INIT").get_action_list()[0].message == \ + self.fsm._states.get("INIT").get_action_list()[0].message, \ 'FSM underlying State underlying Action differ from original to reformed one' assert len(loaded_fsm.get_action_list()) == 0, "FSM should not have any actions on itself" @@ -147,8 +143,8 @@ class XMLSerializerTest(unittest.TestCase): """ st = State("INIT") - act1 = BubbleMessage("Hi!", pos=[10,120], tailpos=[-12,30]) - act2 = DialogMessage("Hello again.", pos=[120,10]) + act1 = addon.create('BubbleMessage', "Hi!", pos=[10,120], tailpos=[-12,30]) + act2 = addon.create('DialogMessage', "Hello again.", pos=[120,10]) act3 = WidgetIdentifyAction() act4 = DisableWidgetAction("0.0.0.1.0.0.0") act5 = TypeTextAction("0.0.0.1.1.1.0.0", "New text") @@ -169,6 +165,7 @@ class XMLSerializerTest(unittest.TestCase): self.test_save() reloaded_fsm = xml_ser.load_fsm(str(self.uuid)) + assert self.fsm == reloaded_fsm, "Expected equivalence before saving vs after loading." def test_all_filters(self): """ @@ -177,7 +174,7 @@ class XMLSerializerTest(unittest.TestCase): st = State("INIT") ev1 = TimerEvent("Second", 1000) - ev2 = GtkWidgetEventFilter("Second", "0.0.1.1.0.0.1", "clicked") + ev2 = addon.create('GtkWidgetEventFilter', "Second", "0.0.1.1.0.0.1", "clicked") ev3 = GtkWidgetTypeFilter("Second", "0.0.1.1.1.2.3", text="Typed stuff") ev4 = GtkWidgetTypeFilter("Second", "0.0.1.1.1.2.3", strokes="acbd") filters = [ev1, ev2, ev3, ev4] @@ -193,6 +190,8 @@ class XMLSerializerTest(unittest.TestCase): self.test_save() reloaded_fsm = xml_ser.load_fsm(str(self.uuid)) + + assert self.fsm == reloaded_fsm, "Expected equivalence before saving vs after loading." if __name__ == "__main__": unittest.main() -- cgit v0.9.1