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, [])
Beispiel #2
0
    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, [])
Beispiel #3
0
 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"])
Beispiel #5
0
    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"])
Beispiel #6
0
    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"])
Beispiel #8
0
    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"])
Beispiel #10
0
 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")
Beispiel #11
0
 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)])
Beispiel #15
0
 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)