added dummy class and began writing unit tests

This commit is contained in:
tylerlaberge
2016-07-17 19:06:26 -04:00
parent 49ad3c0a6e
commit d67889327c
8 changed files with 104 additions and 0 deletions

0
creational/__init__.py Normal file
View File

0
creational/singleton.py Normal file
View File

0
tests/__init__.py Normal file
View File

View File

View File

@@ -0,0 +1,14 @@
from unittest import TestCase
from creational import singleton
class SingletonTestCase(TestCase):
"""
Unit testing class for the singleton design pattern.
"""
def setUp(self):
"""
Initialize testing data.
:return:
"""

63
tests/test_utils.py Normal file
View File

@@ -0,0 +1,63 @@
from unittest import TestCase
from tests.utils.dummy_class import DummyClass
class DummyClassTestCase(TestCase):
"""
Unit testing class for the DummyClass class.
"""
def setUp(self):
"""
Initialize testing data.
"""
self.a = 10
self.b = 5
self.add_function = lambda instance: instance.a + instance.b
self.substract_function = lambda instance: instance.a - instance.b
def test_init(self):
"""
Test the __init__ method.
@raise AssertionError: If the test fails.
"""
dummy = DummyClass(attributes={'a': self.a, 'b': self.b},
functions={'add': self.add_function, 'subtract': self.substract_function})
self.assertEquals(self.a, dummy.a)
self.assertEquals(self.b, dummy.b)
def test_invalid_init(self):
"""
Test the __init__ method with invalid parameters.
@raise AssertionError if the test fails:
"""
with self.assertRaises(ValueError):
DummyClass(attributes={'a': self.add_function}, functions={'add': self.a})
def test_add(self):
"""
Test a dummy class initialized with an add function.
@raise AssertionError: If the test fails.
"""
dummy = DummyClass(attributes={'a': self.a, 'b': self.b},
functions={'add': self.add_function})
self.assertEquals(15, dummy.add())
def test_subtract(self):
"""
Test a dummy class initialized with a subtract function.
@raise AssertionError: If the test fails.
"""
dummy = DummyClass(attributes={'a': self.a, 'b': self.b},
functions={'subtract': self.substract_function})
self.assertEquals(5, dummy.subtract())

0
tests/utils/__init__.py Normal file
View File

View File

@@ -0,0 +1,27 @@
from types import MethodType
class DummyClass(object):
"""
Class representing dummy data.
"""
def __init__(self, attributes, functions):
"""
Initialize a new DummyClass instance.
@param attributes: A dictionary of instance variables for this dummy instance.
@type attributes: dict
@param functions: A dictionary of functions for this dummy instance.
@type functions: dict
"""
for key, value in attributes.items():
if callable(value):
raise ValueError
else:
setattr(self, key, value)
for key, value in functions.items():
if not callable(value):
raise ValueError
else:
setattr(self, key, MethodType(value, self))