Files
PyPattyrn/tests/behavioral_tests/test_null.py
2016-09-10 17:11:45 -04:00

97 lines
2.8 KiB
Python

from unittest import TestCase
from pypat.behavioral.null import Null
class NullTestCase(TestCase):
"""
Unit testing class for the Null class.
"""
def setUp(self):
"""
Initialize testing data.
"""
self.null = Null()
def test_init(self):
"""
Test the init method.
@raise AssertionError: If the test fails.
"""
try:
Null()
Null('value')
Null('value', param='value')
except:
raise AssertionError()
def test_call(self):
"""
Test calling a Null object.
@raise AssertionError: If the test fails.
"""
self.assertEquals(self.null, self.null())
self.assertEquals(self.null, self.null('value'))
self.assertEquals(self.null, self.null('value', param='value'))
def test_get_attribute(self):
"""
Test getting attributes of a Null object.
@raise AssertionError: If the test fails.
"""
self.assertEquals(self.null, self.null.attr1)
self.assertEquals(self.null, self.null.attr2)
self.assertEquals(self.null, self.null.method1())
self.assertEquals(self.null, self.null.method1().method2())
self.assertEquals(self.null, self.null.method('value'))
self.assertEquals(self.null, self.null.method(param='value'))
self.assertEquals(self.null, self.null.method('value', param='value'))
self.assertEquals(self.null, self.null.attr1.method1())
self.assertEquals(self.null, self.null.method1().attr1)
def test_set_attribute(self):
"""
Test setting attributes of a Null object.
@raise AssertionError: If the test fails.
"""
try:
self.null.attr1 = 'value'
self.null.attr1.attr2 = 'value'
except:
raise AssertionError()
def test_del_attribute(self):
"""
Test deleting an attribute of a Null object.
@raise AssertionError: If the test fails.
"""
try:
del self.null.attr1
del self.null.attr1.attr2.attr3
except:
raise AssertionError()
def test_string_representation(self):
"""
Test the string representation of a Null object.
@raise AssertionError:
"""
self.assertEquals('', repr(self.null))
self.assertEquals('', str(self.null))
def test_truthiness(self):
"""
Test the truthiness of a Null object.
@raise AssertionError: If the test fails.
"""
self.assertFalse(bool(self.null))
self.assertFalse(bool(self.null.attr1))
self.assertFalse(bool(self.null.attr1.method1()))
self.assertFalse(bool(self.null.method2().attr2.method1().attr1))