Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/coretests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/coretests.py')
-rw-r--r--tests/coretests.py62
1 files changed, 30 insertions, 32 deletions
diff --git a/tests/coretests.py b/tests/coretests.py
index 4f564c8..b9e04e5 100644
--- a/tests/coretests.py
+++ b/tests/coretests.py
@@ -28,7 +28,7 @@ and event filters. Those are in their separate test module
import unittest
-import copy
+from copy import deepcopy
import logging
from sugar.tutorius.actions import *
from sugar.tutorius.addon import *
@@ -130,9 +130,9 @@ class StateTest(unittest.TestCase):
Tests the fact that the event filters are correctly installed on setup
and uninstalled on teardown.
"""
- event_filter = addon.create('TriggerEventFilter', "second_state")
+ event_filter = addon.create('TriggerEventFilter')
- state = State("event_test", event_filter_list=[event_filter])
+ state = State("event_test", event_filter_list=[(event_filter, "second_state")])
state.set_tutorial(SimpleTutorial())
assert event_filter.toggle_on_callback == False, "Wrong init of event_filter"
@@ -198,22 +198,21 @@ class StateTest(unittest.TestCase):
def test_add_event_filter(self):
state = State("INIT")
- event1 = addon.create('TriggerEventFilter', "s")
- event2 = addon.create('TriggerEventFilter', "t")
- event3 = addon.create('TriggerEventFilter', "r")
+ event1 = addon.create('TriggerEventFilter')
+ event2 = addon.create('TriggerEventFilter')
# Insert the event filters
- assert state.add_event_filter(event1), "Could not add event filter 1"
- assert state.add_event_filter(event2), "Could not add event filter 2"
- assert state.add_event_filter(event3), "Could not add event filter 3"
+ assert state.add_event_filter(event1, "s"), "Could not add event filter 1"
# Make sure we cannot insert an event twice
- assert state.add_event_filter(event1) == False, "Could add twice the event filter"
+ assert state.add_event_filter(event1, "s") == False, "Could add twice the event filter"
+ assert state.add_event_filter(event2, "t") == False, "Could add event filter 2"
# Get the list of event filters
- event_filters = state.get_event_filter_list()
+ event_filters = map(lambda x: x[0],state.get_event_filter_list())
- assert event1 in event_filters and event2 in event_filters and event3 in event_filters, \
+ #even if we added only the event 1, they are equivalent
+ assert event1 in event_filters and event2 in event_filters, \
"The event filters were not all added inside the state"
# Clear the list
@@ -243,19 +242,19 @@ class StateTest(unittest.TestCase):
act1 = addon.create("BubbleMessage", message="Hi", position=[132,450])
act2 = addon.create("BubbleMessage", message="Hi", position=[132,450])
- event1 = addon.create("GtkWidgetEventFilter", "nextState", "0.0.0.1.1.2.3.1", "clicked")
+ event1 = addon.create("GtkWidgetEventFilter", "0.0.0.1.1.2.3.1", "clicked")
act3 = addon.create("DialogMessage", message="Hello again.", position=[200, 400])
# Build the first state
st1.add_action(act1)
st1.add_action(act3)
- st1.add_event_filter(event1)
+ st1.add_event_filter(event1, "nextState")
# Build the second state
st2.add_action(act2)
st2.add_action(act3)
- st2.add_event_filter(event1)
+ st2.add_event_filter(event1, "nextState")
# Make sure that they are identical for now
assert st1 == st2, "States should be considered as identical"
@@ -276,22 +275,21 @@ class StateTest(unittest.TestCase):
assert not(st1 == st2), "Different state names should give different states"
st2.name = "Identical"
- st3 = copy.deepcopy(st1)
+ st3 = deepcopy(st1)
st3.add_action(addon.create("BubbleMessage", "Hi!", [128,264]))
assert not (st1 == st3), "States having a different number of actions should be different"
- st4 = copy.deepcopy(st1)
- st4.add_event_filter(addon.create("GtkWidgetEventFilter", "next_state", "0.0.1.1.2.2.3", "clicked"))
+ st4 = deepcopy(st1)
+ st4.add_event_filter(addon.create("GtkWidgetEventFilter", "0.0.1.1.2.2.3", "clicked"), "next_state")
assert not (st1 == st4), "States having a different number of events should be different"
- st5 = copy.deepcopy(st1)
+ st5 = deepcopy(st1)
st5._event_filters = []
- st5.add_event_filter(addon.create("GtkWidgetEventFilter", "other_state", "0.1.2.3.4.1.2", "pressed"))
+ st5.add_event_filter(addon.create("GtkWidgetEventFilter", "0.1.2.3.4.1.2", "pressed"), "other_state")
- #import rpdb2; rpdb2.start_embedded_debugger('pass')
assert not (st1 == st5), "States having the same number of event filters" \
+ " but those being different should be different"
@@ -305,10 +303,10 @@ class FSMTest(unittest.TestCase):
act_init = TrueWhileActiveAction()
act_second = TrueWhileActiveAction()
- event_init = FakeEventFilter("SECOND")
+ event_init = FakeEventFilter()
content = {
- "INIT": State("INIT", action_list=[act_init],event_filter_list=[event_init]),
+ "INIT": State("INIT", action_list=[act_init],event_filter_list=[(event_init,"SECOND")]),
"SECOND": State("SECOND", action_list=[act_second])
}
@@ -399,9 +397,9 @@ class FSMTest(unittest.TestCase):
This test removes a state from the FSM. It also verifies that the links
from other states going into the removed state are gone.
"""
- st1 = State("INIT", event_filter_list=[addon.create('TriggerEventFilter', "second")])
- st2 = State("second", event_filter_list=[addon.create('TriggerEventFilter', "third")])
- st3 = State("third", event_filter_list=[addon.create('TriggerEventFilter', "second")])
+ st1 = State("INIT", event_filter_list=[(addon.create('TriggerEventFilter'), "second")])
+ st2 = State("second", event_filter_list=[(addon.create('TriggerEventFilter'), "third")])
+ st3 = State("third", event_filter_list=[(addon.create('TriggerEventFilter'), "second")])
fsm = FiniteStateMachine("StateRemovalTest")
@@ -524,7 +522,7 @@ class FSMTest(unittest.TestCase):
fsm.add_action(act1)
- fsm2 = copy.deepcopy(fsm)
+ fsm2 = deepcopy(fsm)
assert fsm == fsm2
@@ -549,7 +547,7 @@ class FSMTest(unittest.TestCase):
fsm.add_state(st1)
fsm.add_state(st2)
- fsm4 = copy.deepcopy(fsm)
+ fsm4 = deepcopy(fsm)
assert fsm == fsm4
@@ -582,13 +580,13 @@ class FSMExplorationTests(unittest.TestCase):
"""
st1 = State("INIT")
st1.add_action(CountAction())
- st1.add_event_filter(addon.create('TriggerEventFilter', "Second"))
- st1.add_event_filter(addon.create('TriggerEventFilter', "Third"))
+ st1.add_event_filter(addon.create('TriggerEventFilter'), "Second")
+ st1.add_event_filter(addon.create('TriggerEventFilter'), "Third")
st2 = State("Second")
st2.add_action(TrueWhileActiveAction())
- st2.add_event_filter(addon.create('TriggerEventFilter', "Third"))
- st2.add_event_filter(addon.create('TriggerEventFilter', "Fourth"))
+ st2.add_event_filter(addon.create('TriggerEventFilter'), "Third")
+ st2.add_event_filter(addon.create('TriggerEventFilter'), "Fourth")
st3 = State("Third")
st3.add_action(CountAction())