From 60109dea12383f8ea2f6d4251952ccc3859feec5 Mon Sep 17 00:00:00 2001 From: erick Date: Wed, 28 Oct 2009 02:03:51 +0000 Subject: TutorialADT: First pass for modifications following Simon review, still has some changes to do --- (limited to 'tests/tutorialtests.py') 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 +# Copyright (C) 2009, Erick Lavoie # # 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 -- cgit v0.9.1