replaced custom command pattern exceptions with attributeerror exceptions.
This commit is contained in:
@@ -1,20 +1,6 @@
|
|||||||
from abc import ABCMeta, abstractmethod
|
from abc import ABCMeta, abstractmethod
|
||||||
|
|
||||||
|
|
||||||
class InvalidActionException(Exception):
|
|
||||||
"""
|
|
||||||
Exception for when an invalid action is called on a Receiver.
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class InvalidInvokerCommandException(Exception):
|
|
||||||
"""
|
|
||||||
Exception for when an invalid command is given to an Invoker to execute.
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class Receiver(object, metaclass=ABCMeta):
|
class Receiver(object, metaclass=ABCMeta):
|
||||||
"""
|
"""
|
||||||
Abstract receiver class as part of the Command pattern.
|
Abstract receiver class as part of the Command pattern.
|
||||||
@@ -33,7 +19,7 @@ class Receiver(object, metaclass=ABCMeta):
|
|||||||
try:
|
try:
|
||||||
return getattr(self, name)(*args, **kwargs)
|
return getattr(self, name)(*args, **kwargs)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
raise InvalidActionException
|
raise AttributeError('Invalid Action.')
|
||||||
|
|
||||||
|
|
||||||
class Command(object, metaclass=ABCMeta):
|
class Command(object, metaclass=ABCMeta):
|
||||||
@@ -89,7 +75,7 @@ class Invoker(object, metaclass=ABCMeta):
|
|||||||
@type command: Command
|
@type command: Command
|
||||||
"""
|
"""
|
||||||
if command.__class__ not in self._valid_commands:
|
if command.__class__ not in self._valid_commands:
|
||||||
raise InvalidInvokerCommandException
|
raise AttributeError('Invalid Command')
|
||||||
else:
|
else:
|
||||||
self._history.append(command)
|
self._history.append(command)
|
||||||
return command.execute()
|
return command.execute()
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from pypatterns.behavioral.command import InvalidActionException, InvalidInvokerCommandException, \
|
from pypatterns.behavioral.command import Receiver, Command, Invoker
|
||||||
Receiver, Command, Invoker
|
|
||||||
|
|
||||||
|
|
||||||
class ReceiverTestCase(TestCase):
|
class ReceiverTestCase(TestCase):
|
||||||
@@ -38,7 +37,7 @@ class ReceiverTestCase(TestCase):
|
|||||||
|
|
||||||
@raise AssertionError: If the test fails.
|
@raise AssertionError: If the test fails.
|
||||||
"""
|
"""
|
||||||
with self.assertRaises(InvalidActionException):
|
with self.assertRaises(AttributeError):
|
||||||
self.thermostat.action('foo')
|
self.thermostat.action('foo')
|
||||||
|
|
||||||
|
|
||||||
@@ -176,7 +175,7 @@ class InvokerTestCase(TestCase):
|
|||||||
def unexecute(self):
|
def unexecute(self):
|
||||||
return self._receiver.action('turn_off')
|
return self._receiver.action('turn_off')
|
||||||
|
|
||||||
with self.assertRaises(InvalidInvokerCommandException):
|
with self.assertRaises(AttributeError):
|
||||||
self.worker.execute(TurnOnLightCommand(Light))
|
self.worker.execute(TurnOnLightCommand(Light))
|
||||||
|
|
||||||
def test_undo(self):
|
def test_undo(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user