예제 #1
0
 def test_writer(self, stream):
     assert stream == BitStream()
     write_unary(stream, 0)
     assert stream == make_bitstream('1')
     write_unary(stream, 1)
     assert stream == make_bitstream('101')
     write_unary(stream, 2)
     assert stream == make_bitstream('101001')
예제 #2
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_writer(self, stream):
     assert stream == BitStream()
     write_unary(stream, 0)
     assert stream == make_bitstream('1')
     write_unary(stream, 1)
     assert stream == make_bitstream('101')
     write_unary(stream, 2)
     assert stream == make_bitstream('101001')
예제 #3
0
 def test_writer(self, stream):
     assert stream == BitStream()
     stream.write(0)
     assert stream == BitStream()
     stream.write(1)
     assert stream == make_bitstream('1')
     stream.write(2)
     assert stream == make_bitstream('110')
     stream.write(3)
     assert stream == make_bitstream('11011')
예제 #4
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_writer(self, stream):
     assert stream == BitStream()
     stream.write(0)
     assert stream == BitStream()
     stream.write(1)
     assert stream == make_bitstream('1')
     stream.write(2)
     assert stream == make_bitstream('110')
     stream.write(3)
     assert stream == make_bitstream('11011')
예제 #5
0
 def test_decoding_single_symbols(self, codec):
     assert codec.decode(make_bitstream('1')) == [0]
     assert codec.decode(make_bitstream('010')) == [1]
     assert codec.decode(make_bitstream('011')) == [2]
     assert codec.decode(make_bitstream('00100')) == [3]
     assert codec.decode(make_bitstream('00101')) == [4]
     assert codec.decode(make_bitstream('00110')) == [5]
     assert codec.decode(make_bitstream('00111')) == [6]
예제 #6
0
 def test_encoding_single_symbols(self, codec):
     assert codec.encode([0]) == make_bitstream('1')
     assert codec.encode([1]) == make_bitstream('010')
     assert codec.encode([2]) == make_bitstream('011')
     assert codec.encode([3]) == make_bitstream('00100')
     assert codec.encode([4]) == make_bitstream('00101')
     assert codec.encode([5]) == make_bitstream('00110')
     assert codec.encode([6]) == make_bitstream('00111')
예제 #7
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_encoding_single_symbols(self, codec):
     assert codec.encode([0]) == make_bitstream('1')
     assert codec.encode([1]) == make_bitstream('010')
     assert codec.encode([2]) == make_bitstream('011')
     assert codec.encode([3]) == make_bitstream('00100')
     assert codec.encode([4]) == make_bitstream('00101')
     assert codec.encode([5]) == make_bitstream('00110')
     assert codec.encode([6]) == make_bitstream('00111')
예제 #8
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_decoding_single_symbols(self, codec):
     assert codec.decode(make_bitstream('1')) == [0]
     assert codec.decode(make_bitstream('010')) == [1]
     assert codec.decode(make_bitstream('011')) == [2]
     assert codec.decode(make_bitstream('00100')) == [3]
     assert codec.decode(make_bitstream('00101')) == [4]
     assert codec.decode(make_bitstream('00110')) == [5]
     assert codec.decode(make_bitstream('00111')) == [6]
예제 #9
0
 def test_encoding_sequence(self, codec):
     seq = [3, 1, 0, 0, 1, 2, 4]
     expected = make_bitstream('001000101101001100101')
     assert codec.encode(seq) == expected
예제 #10
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_reader_sequence(self):
     bs = make_bitstream('100100110')
     assert 4 == read_binary(bs, 3)
     assert 2 == read_binary(bs, 2)
     assert 0 == read_binary(bs, 1)
     assert 6 == read_binary(bs, 3)
예제 #11
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_reader(self):
     assert 0 == read_binary(make_bitstream('0'), 1)
     assert 1 == read_binary(make_bitstream('1'), 1)
     assert 2 == read_binary(make_bitstream('10'), 2)
     assert 5 == read_binary(make_bitstream('101'), 3)
     assert 16 == read_binary(make_bitstream('10000000'), 5)
예제 #12
0
 def test_reader(self):
     assert 0 == read_unary(make_bitstream('1'))
     assert 1 == read_unary(make_bitstream('01'))
     assert 15 == read_unary(BitStream([False for i in range(15)] + [True]))
예제 #13
0
 def test_reader_sequence(self):
     bs = make_bitstream('0011010001')
     assert 2 == read_unary(bs)
     assert 0 == read_unary(bs)
     assert 1 == read_unary(bs)
     assert 3 == read_unary(bs)
예제 #14
0
 def test_encoding_sequence(self, codec):
     seq = [0, 3, 1, 0, 2, 0, 2, 0, 3, 0, 0, 2]
     header = '0' * 13 + '100' + '0010' + '00' + '10' + '11' + '01'
     code_words = '1' + '011' + '00100' + '1' + '010' + '1' + '010' + '1' + '011' + '1' + '1' + '010'
     expected = make_bitstream(header + code_words)
     assert codec.encode(seq) == expected
예제 #15
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_reader_sequence(self):
     bs = make_bitstream('0011010001')
     assert 2 == read_unary(bs)
     assert 0 == read_unary(bs)
     assert 1 == read_unary(bs)
     assert 3 == read_unary(bs)
예제 #16
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_reader(self):
     assert 0 == read_unary(make_bitstream('1'))
     assert 1 == read_unary(make_bitstream('01'))
     assert 15 == read_unary(BitStream([False for i in range(15)] + [True]))
예제 #17
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_reader_underflow(self):
     with pytest.raises(ReadError):
         read_binary(make_bitstream('1'), 2)
예제 #18
0
 def test_reader_sequence(self):
     bs = make_bitstream('100100110')
     assert 4 == read_binary(bs, 3)
     assert 2 == read_binary(bs, 2)
     assert 0 == read_binary(bs, 1)
     assert 6 == read_binary(bs, 3)
예제 #19
0
 def test_reader(self):
     assert 0 == read_binary(make_bitstream('0'), 1)
     assert 1 == read_binary(make_bitstream('1'), 1)
     assert 2 == read_binary(make_bitstream('10'), 2)
     assert 5 == read_binary(make_bitstream('101'), 3)
     assert 16 == read_binary(make_bitstream('10000000'), 5)
예제 #20
0
 def test_writer2(self, stream):
     write_unary(stream, 5)
     assert stream == make_bitstream('000001')
예제 #21
0
 def test_decoding_sequence(self, codec):
     stream = make_bitstream('001111100101101000110011')
     expected = [6, 0, 0, 4, 0, 1, 5, 2]
     assert codec.decode(stream) == expected
예제 #22
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_encoding_sequence(self, codec):
     seq = [0, 3, 1, 0, 2, 0, 2, 0, 3, 0, 0, 2]
     header = '0'*13 + '100'+'0010'+'00'+'10'+'11'+'01'
     code_words = '1'+'011'+'00100'+'1'+'010'+'1'+'010'+'1'+'011'+'1'+'1'+'010'
     expected = make_bitstream(header + code_words)
     assert codec.encode(seq) == expected
예제 #23
0
 def test_decoding_sequence(self, codec):
     header = '0' * 13 + '100' + '0010' + '00' + '10' + '11' + '01'
     code_words = '1' + '011' + '00100' + '1' + '010' + '1' + '010' + '1' + '011' + '1' + '1' + '010'
     stream = make_bitstream(header + code_words)
     expected = [0, 3, 1, 0, 2, 0, 2, 0, 3, 0, 0, 2]
     assert codec.decode(stream) == expected
예제 #24
0
 def test_writer2(self, stream):
     stream.write(19)
     assert stream == make_bitstream('10011')
예제 #25
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_encoding_sequence(self, codec):
     seq = [3, 1, 0, 0, 1, 2, 4]
     expected = make_bitstream('001000101101001100101')
     assert codec.encode(seq) == expected
예제 #26
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_writer2(self, stream):
     stream.write(19)
     assert stream == make_bitstream('10011')
예제 #27
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_decoding_sequence(self, codec):
     stream = make_bitstream('001111100101101000110011')
     expected = [6, 0, 0, 4, 0, 1, 5, 2]
     assert codec.decode(stream) == expected
예제 #28
0
파일: test_utils.py 프로젝트: zbanach/koda
 def test_writer2(self, stream):
     write_unary(stream, 5)
     assert stream == make_bitstream('000001')
예제 #29
0
파일: test_codec.py 프로젝트: zbanach/koda
 def test_decoding_sequence(self, codec):
     header = '0'*13 + '100'+'0010'+'00'+'10'+'11'+'01'
     code_words = '1'+'011'+'00100'+'1'+'010'+'1'+'010'+'1'+'011'+'1'+'1'+'010'
     stream = make_bitstream(header + code_words)
     expected = [0, 3, 1, 0, 2, 0, 2, 0, 3, 0, 0, 2]
     assert codec.decode(stream) == expected
예제 #30
0
 def test_reader_underflow(self):
     with pytest.raises(ReadError):
         read_binary(make_bitstream('1'), 2)