def test_generate_items_raises(self): """Test failure modes of PDU._generate_items method.""" pdu = PDU() # Short data data = b'\x10\x00\x00\x02\x01' gen = pdu._generate_items(data) with pytest.raises(AssertionError): next(gen)
def test_generate_items(self): """Test the PDU._generate_items method.""" pdu = PDU() gen = pdu._generate_items(b'') with pytest.raises(StopIteration): next(gen) data = b'\x10\x00\x00\x02\x01\x02' gen = pdu._generate_items(data) assert next(gen) == (0x10, data) with pytest.raises(StopIteration): next(gen) data += b'\x20\x00\x00\x03\x01\x02\x03' gen = pdu._generate_items(data) assert next(gen) == (0x10, b'\x10\x00\x00\x02\x01\x02') assert next(gen) == (0x20, b'\x20\x00\x00\x03\x01\x02\x03') with pytest.raises(StopIteration): next(gen)