From 544b836dab71d36290d3da5131afaef77c88ccd8 Mon Sep 17 00:00:00 2001 From: mike Date: Fri, 17 Apr 2009 04:28:34 +0000 Subject: LP 341760 Core : Draft architecture for XML loading --- (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 7a31602..a53e196 100644 --- a/src/sugar/tutorius/tests/serializertests.py +++ b/src/sugar/tutorius/tests/serializertests.py @@ -34,7 +34,6 @@ from sugar.tutorius import gtkutils, overlayer from sugar.tutorius.core import Tutorial, State, FiniteStateMachine from sugar.tutorius.actions import DialogMessage, OnceWrapper, BubbleMessage from sugar.tutorius.filters import GtkWidgetEventFilter, TimerEvent -from sugar.tutorius.tutoserialize import TutoSerializer # Helper classes to help testing @@ -48,73 +47,75 @@ class SerializerTest(unittest.TestCase): functionality. """ - def test_pickle_integrity(self): - """ - Validates content is uncorrupted trough a pickle file save/load. - """ - - # Sample valid FSM dict - sampleDict = { - "INIT":State("INIT", - action_list=[ - OnceWrapper(BubbleMessage(message="Welcome to the text editor tutorial!\n\n Click on the canvas and type a letter.", pos=[100,100], tailpos=[-10,-20])), - ], - event_filter_list=[ - GtkWidgetEventFilter("TEXT","0.0.0.1.0.0.0","key-press-event"), - TimerEvent("LOST",15), - ], - ), - "LOST":State("LOST", - action_list=[BubbleMessage("Click in the canvas and type on your keyboard", [400, 400]),], - event_filter_list=[ - GtkWidgetEventFilter("TEXT","0.0.0.1.0.0.0","key-press-event"), - TimerEvent("INIT",5), - ], - ), - "TEXT":State("TEXT", - action_list=[OnceWrapper(BubbleMessage(" You can type more letters if you want!\n\n" + - "To proceed to the next step, select your text.\n\n Click and drag over the text!", [200,150])),], - event_filter_list=[ - GtkWidgetEventFilter("SELECTED","0.0.0.1.0.0","text-selected"), - ], - ), - } - - testpath = "/tmp/testdata/" - - # Create testdata/ folder if no exists - if not os.path.exists(testpath): - os.mkdir(testpath) - - serialize = TutoSerializer() - - # Make the class believe the test is in a activity path - os.environ["SUGAR_ACTIVITY_ROOT"] = testpath - - fsm = FiniteStateMachine("Test", state_dict=sampleDict) - - serialize.save_tutorial("Test", "Test", fsm, "serializeTest") - - fileDict = serialize.load_tuto_list() - - for filekey, tutorial in fileDict.items(): - if filekey == "Test": - reformedTuto = serialize.build_tutorial(filekey) - - reformedfsm = reformedTuto.get("Test").state_machine - - #Tests - assert reformedfsm._states.get("INIT").name == fsm._states.get("INIT").name, \ - 'FSM underlying dictionary differ from original to pickled/reformed one' - assert reformedfsm._states.get("LOST").name == fsm._states.get("LOST").name, \ - 'FSM underlying dictionary differ from original to pickled/reformed one' - assert reformedfsm._states.get("TEXT").name == fsm._states.get("TEXT").name, \ - 'FSM underlying dictionary differ from original to pickled/reformed one' - - - os.remove(testpath + "serializeTest.tml") - os.rmdir(testpath) - os.rmdir("/tmp") + # Voiding test as it is meant to be used with the pickle serializer, + # that was deprecated +## def test_pickle_integrity(self): +## """ +## Validates content is uncorrupted trough a pickle file save/load. +## """ +## +## # Sample valid FSM dict +## sampleDict = { +## "INIT":State("INIT", +## action_list=[ +## OnceWrapper(BubbleMessage(message="Welcome to the text editor tutorial!\n\n Click on the canvas and type a letter.", pos=[100,100], tailpos=[-10,-20])), +## ], +## event_filter_list=[ +## GtkWidgetEventFilter("TEXT","0.0.0.1.0.0.0","key-press-event"), +## TimerEvent("LOST",15), +## ], +## ), +## "LOST":State("LOST", +## action_list=[BubbleMessage("Click in the canvas and type on your keyboard", [400, 400]),], +## event_filter_list=[ +## GtkWidgetEventFilter("TEXT","0.0.0.1.0.0.0","key-press-event"), +## TimerEvent("INIT",5), +## ], +## ), +## "TEXT":State("TEXT", +## action_list=[OnceWrapper(BubbleMessage(" You can type more letters if you want!\n\n" + +## "To proceed to the next step, select your text.\n\n Click and drag over the text!", [200,150])),], +## event_filter_list=[ +## GtkWidgetEventFilter("SELECTED","0.0.0.1.0.0","text-selected"), +## ], +## ), +## } +## +## testpath = "/tmp/testdata/" +## +## # Create testdata/ folder if no exists +## if not os.path.exists(testpath): +## os.mkdir(testpath) +## +## serialize = TutoSerializer() +## +## # Make the class believe the test is in a activity path +## os.environ["SUGAR_ACTIVITY_ROOT"] = testpath +## +## fsm = FiniteStateMachine("Test", state_dict=sampleDict) +## +## serialize.save_tutorial("Test", "Test", fsm, "serializeTest") +## +## fileDict = serialize.load_tuto_list() +## +## for filekey, tutorial in fileDict.items(): +## if filekey == "Test": +## reformedTuto = serialize.build_tutorial(filekey) +## +## reformedfsm = reformedTuto.get("Test").state_machine +## +## #Tests +## assert reformedfsm._states.get("INIT").name == fsm._states.get("INIT").name, \ +## 'FSM underlying dictionary differ from original to pickled/reformed one' +## assert reformedfsm._states.get("LOST").name == fsm._states.get("LOST").name, \ +## 'FSM underlying dictionary differ from original to pickled/reformed one' +## assert reformedfsm._states.get("TEXT").name == fsm._states.get("TEXT").name, \ +## 'FSM underlying dictionary differ from original to pickled/reformed one' +## +## +## os.remove(testpath + "serializeTest.tml") +## os.rmdir(testpath) +## os.rmdir("/tmp") if __name__ == "__main__": -- cgit v0.9.1