def test_orderstorage__Orderstorage__truncate__2(): """It does only truncate the specified namespace.""" storage = OrderStorage() storage.add('foo1', 'bar') storage.add('foo2', 'bar') storage.add('foo1', 'baz') storage.truncate('bar') assert [] == storage.byNamespace('bar') assert ['foo1'] == storage.byNamespace('baz')
def test_orderstorage__Orderstorage__add__4(): """It allows to add an object to different namespaces.""" storage = OrderStorage() storage.add('foo', 'bar') storage.add('foo', 'bar2') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert ['foo'] == storage.byNamespace('bar') assert ['foo'] == storage.byNamespace('bar2')
def storage(): """`OrderStorage` filled with some items.""" storage = OrderStorage() storage.add('foo1', 'bar') storage.add('foo2', 'bar') storage.add('foo3', 'bar') storage.add('foo4', 'bar') storage.add('baz', 'fuz') return storage
def test_orderstorage__Orderstorage__add__3(): """Adding duplicates does not change the sort order.""" storage = OrderStorage() storage.add('foo1', 'bar') storage.add('foo3', 'bar') storage.add('foo2', 'bar') storage.add('foo3', 'bar') assert ['foo1', 'foo3', 'foo2'] == storage.byNamespace('bar')
def test_orderstorage__Orderstorage__add__2(): """It does not raise an error when adding an object twice.""" storage = OrderStorage() storage.add('foo', 'bar') storage.add('foo', 'bar') assert ['bar'] == list(storage.namespaces()) assert ['foo'] == storage.byNamespace('bar')
def test_orderstorage__Orderstorage__remove__2(): """It raises `KeyError` on remove of an obj from not existing namespace.""" storage = OrderStorage() storage.add('fuz', 'baz') with pytest.raises(KeyError): storage.remove('foo', 'bar')
def test_orderstorage__Orderstorage__remove__1(): """It allows to remove objects from the order storage.""" storage = OrderStorage() storage.add('foo', 'bar') storage.add('foo2', 'bar2') storage.add('foo2', 'bar') storage.remove('foo', 'bar') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert ['foo2'] == storage.byNamespace('bar') assert ['foo2'] == storage.byNamespace('bar2') storage.remove('foo2', 'bar2') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert ['foo2'] == storage.byNamespace('bar') assert [] == storage.byNamespace('bar2') storage.remove('foo2', 'bar') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert [] == storage.byNamespace('bar') assert [] == storage.byNamespace('bar2')
def test_orderstorage__Orderstorage__add__1(): """It allows to add objects to namespaces.""" storage = OrderStorage() assert [] == list(storage.namespaces()) storage.add('foo', 'bar') assert ['bar'] == list(storage.namespaces()) assert ['foo'] == storage.byNamespace('bar') storage.add('foo2', 'bar2') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert ['foo'] == storage.byNamespace('bar') assert ['foo2'] == storage.byNamespace('bar2') storage.add('foo2', 'bar') assert ['bar', 'bar2'] == sorted(storage.namespaces()) assert ['foo', 'foo2'] == storage.byNamespace('bar') assert ['foo2'] == storage.byNamespace('bar2')
def test_orderstorage__OrderStorage__1(): """`OrderStorage` fulfills the `IOrderStorage` interface.""" zope.interface.verify.verifyObject(IOrderStorage, OrderStorage())
def test_orderstorage__Orderstorage__truncate__1(): """It does not create a new namespace when it does not exist.""" storage = OrderStorage() storage.truncate('baz') assert [] == sorted(storage.namespaces())
def test_orderstorage__Orderstorage__get__3(): """It raises a `KeyError` if the object was added to another namespace.""" storage = OrderStorage() storage.add('foo1', 'baz') with pytest.raises(KeyError): storage.get('foo1', 'bar')
def test_orderstorage__Orderstorage__get__2(): """It raises a `KeyError` for a not existing object.""" storage = OrderStorage() storage.add('foo1', 'bar') with pytest.raises(KeyError): storage.get('foo2', 'bar')
def test_orderstorage__Orderstorage__get__1(): """It raises a `KeyError` for a not existing namespace.""" with pytest.raises(KeyError): OrderStorage().get('foo1', 'bar')
def test_orderstorage__Orderstorage__remove__3(): """It raises `ValueError` on remove of a not existing object.""" storage = OrderStorage() storage.add('fuz', 'bar') with pytest.raises(ValueError): storage.remove('foo', 'bar')