@Test
public void receiveMessageTest() throws IOException {
byte[] address = new byte[] { 0 };
NodeRegistry nodeFactory = Mockito.mock(NodeRegistry.class);
BidibNode bidibNode = Mockito.mock(BidibNode.class);
MessageListener messageListener = Mockito.mock(MessageListener.class);
NetMessageReceiver receiver = new NetMessageReceiver(nodeFactory, false);
receiver.addMessageListener(messageListener);
byte[] data =
new byte[] { 0x05, 0x00, 0x01, (byte) 0x86, (byte) 0x02, (byte) 0x00, 0x06, 0x00, 0x01, (byte) 0xc1, 0x00,
0x01, 0x02 };
Mockito.when(nodeFactory.findNode(address)).thenReturn(bidibNode);
Mockito.when(bidibNode.getNextReceiveMsgNum(Mockito.any(BidibMessage.class))).thenReturn(Integer.valueOf(1));
receiver.receive(pack(data));
Mockito.verify(messageListener, Mockito.times(1)).error(address, 2, address);
Mockito.verify(messageListener, Mockito.times(1)).lcNa(Mockito.eq(address), Mockito.any(), Mockito.eq(2));
}
}