コード例 #1
0
 def test_random_swap(self, qty=1000):
     for i in range(qty):
         a = Bitstring()
         b = a.copy()
         self.assertEqual(a.distance_to(b), 0)
         dist = random.randint(0, sdm.get_dimension())
         b.bitrandomswap(dist)
         self.assertEqual(a.distance_to(b), dist)
コード例 #2
0
ファイル: test_memory.py プロジェクト: eraoul/sdm
 def test_saveload(self):
     a = Bitstring()
     #sdm.initialize()
     sdm.thread_write(a, a)
     self.assertEqual(a.distance_to(sdm.thread_read(a)), 0)
     self.assertEqual(sdm.save_to_file('_test.sdm'), 0)
     sdm.free()
     sdm.initialize()
     self.assertTrue(a.distance_to(sdm.read(a)) > 0)
     sdm.free()
     self.assertEqual(sdm.initialize_from_file('_test.sdm'), 0)
     self.assertEqual(a.distance_to(sdm.thread_read(a)), 0)
コード例 #3
0
 def test_readwrite_overflow(self, qty=1000):
     a = Hardlocation()
     b = Bitstring()
     for i in range(qty):
         a.write(b)
     c = a.read()
     self.assertEqual(b.distance_to(c), 0)
コード例 #4
0
ファイル: test_memory.py プロジェクト: eraoul/sdm
 def test_writeread(self, qty=10):
     #sdm.initialize()
     for i in range(qty):
         a = Bitstring()
         sdm.write(a, a)
         b = sdm.read(a)
         self.assertEqual(a.distance_to(b), 0)
コード例 #5
0
ファイル: test_hardlocation.py プロジェクト: xpontus/sdm
 def test_readwrite_overflow(self, qty=1000):
     a = Hardlocation()
     b = Bitstring()
     for i in range(qty):
         a.write(b)
     c = a.read()
     self.assertEqual(b.distance_to(c), 0)
コード例 #6
0
    def test_readwrite_swap(self, qty=1000):
        for i in range(qty):
            a = Hardlocation()
            b = Bitstring()
            a.write(b)
            c = a.read()
            self.assertEqual(b.distance_to(c), 0)

            b.bitswap(0)
            a.write(b)
            a.write(b)
            c = a.read()
            b.bitswap(0)

            self.assertEqual(b.distance_to(c), 1)
            c.bitswap(0)
            self.assertEqual(b.distance_to(c), 0)
コード例 #7
0
ファイル: test_memory.py プロジェクト: xpontus/sdm
 def test_writeread(self, qty=10):
     sdm.initialize()
     for i in range(qty):
         a = Bitstring()
         sdm.thread_write(a, a)
         b = sdm.thread_read(a)
         self.assertEqual(a.distance_to(b), 0)
     sdm.free()
コード例 #8
0
ファイル: test_hardlocation.py プロジェクト: xpontus/sdm
    def test_readwrite_swap(self, qty=1000):
        for i in range(qty):
            a = Hardlocation()
            b = Bitstring()
            a.write(b)
            c = a.read()
            self.assertEqual(b.distance_to(c), 0)

            b.bitswap(0)
            a.write(b)
            a.write(b)
            c = a.read()
            b.bitswap(0)

            self.assertEqual(b.distance_to(c), 1)
            c.bitswap(0)
            self.assertEqual(b.distance_to(c), 0)
コード例 #9
0
ファイル: test_memory.py プロジェクト: eraoul/sdm
 def test_writereadnear(self, distance=50, qty=10):
     #sdm.initialize()
     for i in range(qty):
         a = Bitstring()
         sdm.write(a, a)
         b = a.copy()
         b.bitrandomswap(distance)
         c = sdm.read(b)
         self.assertEqual(a.distance_to(c), 0)
コード例 #10
0
ファイル: test_memory.py プロジェクト: xpontus/sdm
 def test_writereadnear(self, distance=50, qty=10):
     sdm.initialize()
     for i in range(qty):
         a = Bitstring()
         sdm.thread_write(a, a)
         b = a.copy()
         b.bitrandomswap(distance)
         c = sdm.thread_read(b)
         self.assertEqual(a.distance_to(c), 0)
     sdm.free()
コード例 #11
0
 def test_average_random(self, qty=1000):
     for i in range(qty):
         a = Bitstring()
         b = Bitstring()
         c = Bitstring.average(a, b)
         d0 = a.distance_to(b)
         d1 = c.distance_to(a)
         d2 = c.distance_to(b)
         self.assertEqual(d1+d2, d0)
         self.assertTrue(d1 < d0)
         self.assertTrue(d2 < d0)
         self.assertTrue(abs(d1-d2) <= 1)