Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorerick <erick@sugar-dev-erick.(none)>2009-10-27 03:19:16 (GMT)
committer erick <erick@sugar-dev-erick.(none)>2009-10-27 03:19:16 (GMT)
commitc745023137b7a6d84ac5eb37bde6c5a363767256 (patch)
treea5ac5681ce90944e7bd4edd84ece8bc678b54fae /tests
parent8237d2e33cadc8199349e1b19c9d9d3bdda77de7 (diff)
Updated interface for Tutorial, Started writing tests to Tutorial
Diffstat (limited to 'tests')
-rw-r--r--tests/tutorialtests.py206
1 files changed, 204 insertions, 2 deletions
diff --git a/tests/tutorialtests.py b/tests/tutorialtests.py
index 864c452..ca70e11 100644
--- a/tests/tutorialtests.py
+++ b/tests/tutorialtests.py
@@ -79,6 +79,7 @@ class StateTest(unittest.TestCase):
#### Action
def test_add_dummy_action(self):
action_name = self.state.add_action("action1")
+ assert action_name
assert len(self.state.get_action_dict()) == 1
assert self.state.get_action_dict().has_key(action_name)
assert self.state.get_action_dict()[action_name] == "action1"
@@ -86,6 +87,7 @@ class StateTest(unittest.TestCase):
def test_add_generate_unique_action_names(self):
action_name1 = self.state.add_action("action1")
action_name2 = self.state.add_action("action2")
+ assert action_name1 and action_name2
assert action_name1 != action_name2
def test_update_dummy_action(self):
@@ -190,20 +192,220 @@ class StateTest(unittest.TestCase):
assert transition_exists_error
+
class TutorialTest(unittest.TestCase):
- """Test basic functionalities of tutorials"""
+ """Test tutorial functionality"""
def setUp(self):
- pass
+ self.tutorial = Tutorial("Tutorial Test")
def tearDown(self):
pass
######################### Basic interface cases #########################
+
+ #### Tutorial
+ def test_default_initial_value_in_tutorial(self):
+ assert len(self.tutorial.get_state_dict()) == 2
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END])
+ assert len(self.tutorial.get_action_dict()) == 0
+ assert len(self.tutorial.get_transition_dict()) == 1
+ assert self.tutorial.get_previous_states_dict(Tutorial._INIT).keys() == None
+ assert self.tutorial.get_following_states_dict(Tutorial._INIT).keys() == [Tutorial._END]
+ assert self.tutorial.get_previous_states_dict(Tutorial._END).keys() == [Tutorial._INIT]
+ assert self.tutorial.get_following_states_dict(Tutorial._END).keys() == None
+
+ def test_initialize_tutorial_from_existing_dictionary(self):
+ # TODO: to be implemented
+ assert False
+
+ #### State
+ def test_add_default_state(self):
+ state_name = self.tutorial.add_state()
+ assert state_name
+ assert len(self.tutorial.get_state_dict()) == 3
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END, state_name])
+ assert len(self.tutorial.get_action_dict()) == 0
+ assert len(self.tutorial.get_transition_dict()) == 1
+
+ def test_add_state_with_action(self):
+ state_name = self.tutorial.add_state(action_list=["action1"])
+ assert state_name
+ assert len(self.tutorial.get_state_dict()) == 3
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END, state_name])
+ assert len(self.tutorial.get_action_dict()) == 1
+ assert len(self.tutorial.get_transition_dict()) == 1
+
+ def test_add_state_with_transition(self):
+ state_name = self.tutorial.add_state(transition_list=[("event1",Tutorial._END])
+ assert state_name
+ assert len(self.tutorial.get_state_dict()) == 3
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END, state_name])
+ assert len(self.tutorial.get_action_dict()) == 1
+ assert len(self.tutorial.get_transition_dict()) == 2
+
+ def test_add_generate_unique_state_names(self):
+ state_name1 = self.tutorial.add_state()
+ state_name2 = self.tutorial.add_state()
+ assert state_name1 and state_name2
+ assert state_name1 != state_name2
+
+ def test_delete_lone_state(self):
+ state_name1 = self.tutorial.add_state()
+ self.tutorial.delete_state(state_name1)
+ assert len(self.tutorial.get_state_dict()) == 2
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END])
+ assert len(self.tutorial.get_action_dict()) == 0
+ assert len(self.tutorial.get_transition_dict()) == 1
+ assert self.tutorial.get_previous_states_dict(Tutorial._INIT).keys() == None
+ assert self.tutorial.get_following_states_dict(Tutorial._INIT).keys() == [Tutorial._END]
+ assert self.tutorial.get_previous_states_dict(Tutorial._END).keys() == [Tutorial._INIT]
+ assert self.tutorial.get_following_states_dict(Tutorial._END).keys() == None
+
+ def test_delete_linked_state(self):
+ state_name1 = self.tutorial.add_state()
+ self.tutorial.update_transition(Tutorial._INITIAL_TRANSITION_NAME, \
+ (Tutorial._AUTOMATIC_TRANSITION_EVENT, state_name1))
+ transition_name1 = self.tutorial.add_transition(("event1", Tutorial._END))
+ self.tutorial.delete_state(state_name1)
+ assert len(self.tutorial.get_state_dict()) == 2
+ assert set(self.tutorial.get_state_dict().keys()) == set([Tutorial._INIT,Tutorial._END])
+ assert len(self.tutorial.get_action_dict()) == 0
+ assert len(self.tutorial.get_transition_dict()) == 1
+ assert self.tutorial.get_previous_states_dict(Tutorial._INIT).keys() == None
+ assert self.tutorial.get_following_states_dict(Tutorial._INIT).keys() == [Tutorial._END]
+ assert self.tutorial.get_previous_states_dict(Tutorial._END).keys() == [Tutorial._INIT]
+ assert self.tutorial.get_following_states_dict(Tutorial._END).keys() == None
+
+ #### Action
+ def test_add_dummy_action(self):
+ state_name = self.tutorial.add_state()
+ action_name = self.tutorial.add_action(state_name,"action1")
+ assert action_name
+ assert len(self.tutorial.get_action_dict()) == 1
+ assert self.tutorial.get_action_dict().has_key(action_name)
+ assert self.tutorial.get_action_dict()[action_name] == "action1"
+
+ def test_add_generate_unique_action_names(self):
+ state_name = self.tutorial.add_state()
+ action_name1 = self.state.add_action(state_name,"action1")
+ action_name2 = self.state.add_action(state_name,"action2")
+ assert action_name1 and action_name2
+ assert action_name1 != action_name2
+
+ def test_update_dummy_action(self):
+ action_name = self.state.add_action("action1")
+ self.state.update_action(action_name, "action2")
+ assert len(self.state.get_action_dict()) == 1
+ assert self.state.get_action_dict().has_key(action_name)
+ assert self.state.get_action_dict()[action_name] == "action2"
+ def test_delete_dummy_action(self):
+ action_name = self.state.add_action("action1")
+ assert len(self.state.get_action_dict()) == 1
+ assert self.state.get_action_dict().has_key(action_name)
+ assert self.state.get_action_dict()[action_name] == "action1"
+
+ self.state.delete_action(action_name)
+ assert len(self.state.get_action_dict()) == 0
+
+ def test_delete_all_dummy_actions(self):
+ action_name = self.state.add_action("action1")
+ assert len(self.state.get_action_dict()) == 1
+ assert self.state.get_action_dict().has_key(action_name)
+ assert self.state.get_action_dict()[action_name] == "action1"
+
+ self.state.delete_actions()
+ assert len(self.state.get_action_dict()) == 0
+
+ #### Transition
+ def test_add_dummy_transition(self):
+ transition_name = self.state.add_transition("transition1")
+ assert len(self.state.get_transition_dict()) == 1
+ assert self.state.get_transition_dict().has_key(transition_name)
+ assert self.state.get_transition_dict()[transition_name] == "transition1"
+
+ def test_add_generate_unique_transition_names(self):
+ transition_name1 = self.state.add_transition("transition1")
+ transition_name2 = self.state.add_transition("transition2")
+ assert transition_name1 != transition_name2
+
+ def test_update_dummy_transition(self):
+ transition_name = self.state.add_transition("transition1")
+ self.state.update_transition(transition_name, "transition2")
+ assert len(self.state.get_transition_dict()) == 1
+ assert self.state.get_transition_dict().has_key(transition_name)
+ assert self.state.get_transition_dict()[transition_name] == "transition2"
+
+ def test_delete_dummy_transition(self):
+ transition_name = self.state.add_transition("transition1")
+ assert len(self.state.get_transition_dict()) == 1
+ assert self.state.get_transition_dict().has_key(transition_name)
+ assert self.state.get_transition_dict()[transition_name] == "transition1"
+
+ self.state.delete_transition(transition_name)
+ assert len(self.state.get_transition_dict()) == 0
+
+ def test_delete_all_dummy_transitions(self):
+ transition_name = self.state.add_transition("transition1")
+ assert len(self.state.get_transition_dict()) == 1
+ assert self.state.get_transition_dict().has_key(transition_name)
+ assert self.state.get_transition_dict()[transition_name] == "transition1"
+
+ self.state.delete_transitions()
+ assert len(self.state.get_transition_dict()) == 0
+
+
+
######################### Limit cases ###################################
+ #### Tutorial
+
+ #### State
+
+ #### Action
+
+ #### Transition
######################### Error cases ###################################
+ #### Tutorial
+ def test_initialize_tutorial_from_wrong_dictionary(self):
+ # TODO: to be implemented
+ assert False
+
+ #### State
+
+ #### Action
+ def test_update_unknown_action(self):
+ name_error = None
+ try:
+ self.state.update_action("unknown_name", "action")
+ except NameError, e:
+ name_error = e
+
+ assert name_error
+
+
+ def test_delete_unknown_action(self):
+ name_error = None
+ try:
+ self.state.delete_action("unknown_name")
+ except NameError, e:
+ name_error = e
+
+ assert name_error
+
+ #### Transition
+ def test_add_existing_transition(self):
+ self.state.add_transition("transition")
+ transition_exists_error = None
+ try:
+ self.state.add_transition("transition")
+ except TransitionAlreadyExists, e:
+ transition_exists_error = e
+
+ assert transition_exists_error
+
+
if __name__ == "__main__":
unittest.main()