예제 #1
0
 def test01(self):
     sequence = '0' * 64
     compress = hw5.compress(sequence)
     self.assertEqual(compress, '1111100000111110000000010')
     uncompress = hw5.uncompress(compress)
     self.assertEqual(uncompress, sequence)
     self.assertAlmostEqual(hw5.compression(sequence), 0.390625, 4)
예제 #2
0
 def test06(self):
     sequence = '1' * hw5.MAX_RUN_LENGTH + '0' * hw5.MAX_RUN_LENGTH + '1' * (
         64 - 2 * hw5.MAX_RUN_LENGTH)
     compress = hw5.compress(sequence)
     self.assertEqual(compress, '00000111111111100010')
     uncompress = hw5.uncompress(compress)
     self.assertEqual(uncompress, sequence)
     self.assertAlmostEqual(hw5.compression(sequence), 0.3125, 4)
예제 #3
0
 def test05(self):
     sequence = '0' * (hw5.MAX_RUN_LENGTH + 1) + '1' * (
         hw5.MAX_RUN_LENGTH + 1) + '0' * (64 - 2 * hw5.MAX_RUN_LENGTH - 2)
     compress = hw5.compress(sequence)
     self.assertEqual(compress, '111110000000001111110000000001')
     uncompress = hw5.uncompress(compress)
     self.assertEqual(uncompress, sequence)
     self.assertAlmostEqual(hw5.compression(sequence), 0.46875, 4)
예제 #4
0
 def test03(self):
     sequence = '10' * 32
     compress = hw5.compress(sequence)
     self.assertEqual(
         compress,
         '0000000001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001000010000100001'
     )
     uncompress = hw5.uncompress(compress)
     self.assertEqual(uncompress, sequence)
     self.assertAlmostEqual(hw5.compression(sequence), 5.078125, 4)