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-28 02:03:51 (GMT)
committer erick <erick@sugar-dev-erick.(none)>2009-10-28 02:03:51 (GMT)
commit60109dea12383f8ea2f6d4251952ccc3859feec5 (patch)
tree8beb977d49c402fe71803dec9639c5bb0ae905f1 /tests
parentf356520259cff7006465aa09ad050b1cd591d496 (diff)
TutorialADT: First pass for modifications following Simon review, still has some changes to do
Diffstat (limited to 'tests')
-rw-r--r--tests/tutorialtests.py108
1 files changed, 47 insertions, 61 deletions
diff --git a/tests/tutorialtests.py b/tests/tutorialtests.py
index 3be3415..c1f591f 100644
--- a/tests/tutorialtests.py
+++ b/tests/tutorialtests.py
@@ -1,5 +1,5 @@
# Copyright (C) 2009, Tutorius.org
-# Copyright (C) 2009, Michael Janelle-Montcalm <michael.jmontcalm@gmail.com>
+# Copyright (C) 2009, Erick Lavoie <erick.lavoie@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,21 +15,16 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
"""
-Core Tests
-
-This module contains all the tests that pertain to the usage of the Tutorius
-Core. This means that the Event Filters, the Finite State Machine and all the
-related elements and interfaces are tested here.
+Tutorial Tests
+"""
-Usage of actions and event filters is tested, but not the concrete actions
-and event filters. Those are in their separate test module
+# TODO: Add tests for 47, 52, 55, 109, 132, 175, 209, 229, 233, 271, 274, 292, 295, 318, 337, 375, 394, 411, 428, 446, 480, 491, 624, 637, 698
-"""
+# TODO: Use doc strings for test names that are too long
+# TODO: Use helper functions for common checks
import unittest
-import copy
-import logging
from sugar.tutorius.tutorial import *
# The following tests are organized around 4 classes:
@@ -162,36 +157,27 @@ class StateTest(unittest.TestCase):
######################### Error cases ###################################
#### 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
-
+ assert False
+ except LookupError:
+ pass
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
+ assert False
+ except LookupError:
+ pass
#### 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
-
-
+ assert False
+ except TransitionAlreadyExists:
+ pass
class TutorialTest(unittest.TestCase):
"""Test tutorial functionality"""
@@ -207,20 +193,20 @@ class TutorialTest(unittest.TestCase):
#### 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 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) == {}
- 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) == {}
+ assert self.tutorial.get_previous_states_dict(Tutorial.INIT) == {}
+ 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) == {}
#### 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 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
@@ -228,15 +214,15 @@ class TutorialTest(unittest.TestCase):
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 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)])
+ 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 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()) == 2
@@ -250,28 +236,28 @@ class TutorialTest(unittest.TestCase):
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 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) == {}
- 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) == {}
+ assert self.tutorial.get_previous_states_dict(Tutorial.INIT) == {}
+ 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) == {}
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(state_name1,("event1", Tutorial._END))
+ self.tutorial.update_transition(Tutorial.INITIAL_TRANSITION_NAME, \
+ (Tutorial.AUTOMATIC_TRANSITION_EVENT, state_name1))
+ transition_name1 = self.tutorial.add_transition(state_name1,("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 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) == {}
- 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) == {}
+ assert self.tutorial.get_previous_states_dict(Tutorial.INIT) == {}
+ 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) == {}
#### Action
def test_add_dummy_action(self):
@@ -357,30 +343,30 @@ class TutorialTest(unittest.TestCase):
#### Action
def test_update_unknown_action(self):
- name_error = None
+ lookup_error = None
try:
self.tutorial.update_action("unknown_name", "action")
- except NameError, e:
- name_error = e
+ except LookupError, e:
+ lookup_error = e
- assert name_error
+ assert lookup_error
def test_delete_unknown_action(self):
- name_error = None
+ lookup_error = None
try:
self.tutorial.delete_action("unknown_name")
- except NameError, e:
- name_error = e
+ except LookupError, e:
+ lookup_error = e
- assert name_error
+ assert lookup_error
#### Transition
def test_add_existing_transition(self):
- self.tutorial.add_transition(Tutorial._INIT,("event","transition"))
+ self.tutorial.add_transition(Tutorial.INIT,("event","transition"))
transition_exists_error = None
try:
- self.tutorial.add_transition(Tutorial._INIT,("event","transition"))
+ self.tutorial.add_transition(Tutorial.INIT,("event","transition"))
except TransitionAlreadyExists, e:
transition_exists_error = e