Files
sloth/tests/item_factory_test.py
Martin Baeuml db1dc22036 cleanup/pep8
2014-03-19 22:35:42 +01:00

67 lines
1.6 KiB
Python

import pytest
from sloth.items import Factory
class MockupRectItem:
pass
class MockupPointItem:
pass
class MockupPolygonItem:
pass
def _create_factory():
itemfactory = Factory({'point': MockupPointItem,
'polygon': MockupPolygonItem})
itemfactory.register('rect', MockupRectItem)
return itemfactory
def test_register():
itemfactory = _create_factory()
item = itemfactory.create('rect')
assert isinstance(item, MockupRectItem)
item = itemfactory.create('point')
assert isinstance(item, MockupPointItem)
item = itemfactory.create('polygon')
assert isinstance(item, MockupPolygonItem)
item = itemfactory.create('polygon2')
assert item is None
def test_register_fail():
itemfactory = _create_factory()
with pytest.raises(Exception):
itemfactory.register('rect', MockupRectItem)
def test_register_replace():
itemfactory = _create_factory()
itemfactory.register('rect', MockupPolygonItem, replace=True)
item = itemfactory.create('rect')
assert isinstance(item, MockupPolygonItem)
def test_clear():
itemfactory = _create_factory()
item = itemfactory.create('rect')
assert isinstance(item, MockupRectItem)
itemfactory.clear('rect')
item = itemfactory.create('rect')
assert item is None
item = itemfactory.create('point')
assert isinstance(item, MockupPointItem)
item = itemfactory.create('polygon')
assert isinstance(item, MockupPolygonItem)
itemfactory.clear()
assert itemfactory.create('point') is None
assert itemfactory.create('polygon') is None