Пример #1
0
    def test_simple(self):
        print(self.segment.byte_bounds_offset(), len(self.segment))
        r2 = self.segment.rawdata[100:400]
        s2 = DefaultSegment(r2)
        print(s2.byte_bounds_offset(), len(s2), s2.__getstate__())
        r3 = s2.rawdata[100:200]
        s3 = DefaultSegment(r3)
        print(s3.byte_bounds_offset(), len(s3), s3.__getstate__())
        order = list(reversed(list(range(700, 800))))
        r4 = self.segment.rawdata.get_indexed(order)
        s4 = DefaultSegment(r4)
        print(s4.byte_bounds_offset(), len(s4), s4.__getstate__())

        slist = [s2, s3, s4]
        for s in slist:
            print(s)
        j = jsonpickle.dumps(slist)
        print(j)

        slist2 = jsonpickle.loads(j)
        print(slist2)
        for s in slist2:
            s.reconstruct_raw(self.segment.rawdata)
            print(s)

        for orig, rebuilt in zip(slist, slist2):
            print("orig", orig.data[:])
            print("rebuilt", rebuilt.data[:])
            assert np.array_equal(orig[:], rebuilt[:])
Пример #2
0
 def test_simple(self):
     print(self.segment.byte_bounds_offset(), len(self.segment))
     r2 = self.segment.rawdata[100:400]
     s2 = DefaultSegment(r2)
     print(s2.byte_bounds_offset(), len(s2), s2.__getstate__())
     r3 = s2.rawdata[100:200]
     s3 = DefaultSegment(r3)
     print(s3.byte_bounds_offset(), len(s3), s3.__getstate__())
     order = list(reversed(list(range(700, 800))))
     r4 = self.segment.rawdata.get_indexed(order)
     s4 = DefaultSegment(r4)
     print(s4.byte_bounds_offset(), len(s4), s4.__getstate__())
     
     slist = [s2, s3, s4]
     for s in slist:
         print(s)
     j = jsonpickle.dumps(slist)
     print(j)
     
     slist2 = jsonpickle.loads(j)
     print(slist2)
     for s in slist2:
         s.reconstruct_raw(self.segment.rawdata)
         print(s)
     
     for orig, rebuilt in zip(slist, slist2):
         print("orig", orig.data[:])
         print("rebuilt", rebuilt.data[:])
         assert np.array_equal(orig[:], rebuilt[:])
Пример #3
0
class TestSegment:
    def setup(self):
        data = np.ones([4000], dtype=np.uint8)
        r = SegmentData(data)
        self.segment = DefaultSegment(r, 0)

    def test_getstate(self):
        state = self.segment.__getstate__()
        for k, v in state.items():
            print("k=%s v=%s type=%s" % (k, v, type(v)))
        byte_type = type(str(u'  ').encode('utf-8'))  # py2 and py3
        try:
            u = unicode(" ")
        except:
            u = str(" ")
        assert type(state['uuid']) == type(u)

    def test_extra(self):
        s = self.segment
        s.set_comment([[4,5]], "test1")
        s.set_comment([[40,50]], "test2")
        s.set_style_ranges([[2,100]], comment=True)
        s.set_style_ranges([[200, 299]], data=True)
        for i in range(1,4):
            for j in range(1, 4):
                # create some with overlapping regions, some without
                r = [500*j, 500*j + 200*i + 200]
                s.set_style_ranges([r], user=i)
                s.set_user_data([r], i, i*10 + j)
        r = [100, 200]
        s.set_style_ranges([r], user=4)
        s.set_user_data([r], 4, 99)
        r = [3100, 3200]
        s.set_style_ranges([r], user=4)
        s.set_user_data([r], 4, 99)

        out = dict()
        s.serialize_session(out)
        print("saved", out)

        data = np.ones([4000], dtype=np.uint8)
        r = SegmentData(data)
        s2 = DefaultSegment(r, 0)
        s2.restore_session(out)
        out2 = dict()
        s2.serialize_session(out2)
        print("loaded", out2)
        assert out == out2