def test_SerializedSet_CreateNew_IterItemsIsEmpty(self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, [])
def test_SerializedSet_CreateNew_IterItemsIsEmpty(self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, [])
def test_SerializedSet_RemoveMergeWithNext(self): r = SerializedSet(io=mock.Mock(), iosize=14, allpos={0: ItemHeader(empty=False, size=3), 3: ItemHeader(empty=False, size=4), 7: ItemHeader(empty=True, size=7)}, serializer=mock.Mock(serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=0)) r.remove(3) self.assertEquals(r.getallocs(), [ItemHeader(empty=False, size=3), ItemHeader(empty=True, size=11)] )
def test_SerializedSet_AddOneElements_CheckElementIsPresent(self): SIZE = 50 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader.add("ab") #print repr(io.iohandle.getvalue()) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["ab"])
def test_SerializedSet_AddTwoElementsRemoveSecondThenReRead_FirstElementIsReturned(self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader.add("abcd") pos2 = reader.add("efghijkl") reader.remove(pos2) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["abcd"])
def test_SerializedSet_AddOneElements_CheckElementIsPresent(self): SIZE = 50 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader.add("ab") #print repr(io.iohandle.getvalue()) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["ab"])
def test_SerializedSet_AddTwoElementsRemoveSecondThenReRead_FirstElementIsReturned( self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) reader.add("abcd") pos2 = reader.add("efghijkl") reader.remove(pos2) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["abcd"])
def test_SerializedSet_AddThreeElementsRemoveFirstAndThirdThenReRead_SecondElementIsReturned(self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) pos1 = reader.add("abcd") reader.add("efghijkl") pos3 = reader.add("mnopqrst") reader.remove(pos3) reader.remove(pos1) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["efghijkl"])
def test_SerializedSet_AddThreeElementsRemoveFirstAndThirdThenReRead_SecondElementIsReturned( self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) pos1 = reader.add("abcd") reader.add("efghijkl") pos3 = reader.add("mnopqrst") reader.remove(pos3) reader.remove(pos1) reader2 = SerializedSet.load(io, SIZE) items = list(reader2.itervalues()) self.assertEquals(items, ["efghijkl"])
def test_SerializedSet_AddDataTooLargeString_RaisesException(self): r = SerializedSet.new(io=mock.Mock(), iosize=17, serializer=mock.Mock(serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=2)) with self.assertRaises(InsufficientSpaceException): r.add(data="onebytetoolong")
def test_SerializedSet_AddData_GetAllocReturnsSplittedAllocs(self): r = SerializedSet.new(io=mock.Mock(), iosize=20, serializer=mock.Mock(serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=0)) r.add(data="abcde") self.assertEquals(r.getallocs(), [ItemHeader(empty=False, size=5), ItemHeader(empty=True, size=15)] )
def test_SerializedSet_AddDataTooLargeString_RaisesException(self): r = SerializedSet.new(io=mock.Mock(), iosize=17, serializer=mock.Mock( serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=2)) with self.assertRaises(InsufficientSpaceException): r.add(data="onebytetoolong")
def test_SerializedSet_RemoveMergeWithPrev(self): r = SerializedSet(io=mock.Mock(), iosize=14, allpos={ 0: ItemHeader(empty=True, size=3), 3: ItemHeader(empty=False, size=4), 7: ItemHeader(empty=False, size=7) }, serializer=mock.Mock( serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=0)) r.remove(3) self.assertEquals( r.getallocs(), [ItemHeader(empty=True, size=7), ItemHeader(empty=False, size=7)])
def test_SerializedSet_AddData_GetAllocReturnsSplittedAllocs(self): r = SerializedSet.new(io=mock.Mock(), iosize=20, serializer=mock.Mock( serialize=mock.Mock(return_value=""), SERIALIZED_LENGTH=0)) r.add(data="abcde") self.assertEquals( r.getallocs(), [ItemHeader(empty=False, size=5), ItemHeader(empty=True, size=15)])
def test_SerializedSet_AddThreeElementsRemoveAll_CheckIOIsIdenticalToTheBeginning(self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) io1 = io.iohandle.getvalue() pos1 = reader.add("abcd") pos2 = reader.add("efghijkl") pos3 = reader.add("mnopqrst") reader.remove(pos3) reader.remove(pos2) reader.remove(pos1) io2 = io.iohandle.getvalue() self.assertEquals(io1, io2)
def test_SerializedSet_AddThreeElementsRemoveAll_CheckIOIsIdenticalToTheBeginning( self): SIZE = 1000 io = IoHandle.using_stringio(SIZE) reader = SerializedSet.new(io, SIZE) io1 = io.iohandle.getvalue() pos1 = reader.add("abcd") pos2 = reader.add("efghijkl") pos3 = reader.add("mnopqrst") reader.remove(pos3) reader.remove(pos2) reader.remove(pos1) io2 = io.iohandle.getvalue() self.assertEquals(io1, io2)