from twnet_parser.packet import \ ChunkHeaderParser from twnet_parser.chunk_header import \ ChunkHeader def test_chunk_header_unpack_bogus_vital() -> None: # this is a non sense header # but the values are verified with the C++ # implementation parser = ChunkHeaderParser() header: ChunkHeader = parser.parse_header6(b'\x40\x10\x0a') assert header.flags.resend is False assert header.flags.vital is True assert header.size == 0 assert header.seq == 74 def test_chunk_header_unpack_vital_seq38() -> None: # this is a non sense header # but the values are verified with the C++ # implementation parser = ChunkHeaderParser() header: ChunkHeader = parser.parse_header6(b'\x40\x02\x26') assert header.flags.resend is False assert header.flags.vital is True assert header.size == 2 assert header.seq == 38 def test_chunk_header_unpack_bogus_no_flags_size107() -> None: # this is a non sense header # but the values are verified with the C++ # implementation parser = ChunkHeaderParser() header: ChunkHeader = parser.parse_header6(b'\x06\x0b') assert header.flags.resend is False assert header.flags.vital is False assert header.size == 107 assert header.seq == -1 def test_chunk_header_unpack_bogus_no_flags_size27() -> None: # this is a non sense header # but the values are verified with the C++ # implementation parser = ChunkHeaderParser() header: ChunkHeader = parser.parse_header6(b'\x01\x0b') assert header.flags.resend is False assert header.flags.vital is False assert header.size == 27 assert header.seq == -1 def test_chunk_header_all_set() -> None: # this is a non sense header # but the values are verified with the C++ # implementation parser = ChunkHeaderParser() header: ChunkHeader = parser.parse_header6(b'\xff\xff\xff') assert header.flags.resend is True assert header.flags.vital is True assert header.size == 1023 assert header.seq == 1023