@Test public void testNodeDescriptorDeserialize() { int[] packet = getPacketData("00 00 00 00 00 40 8F CD AB 52 80 00 41 2A 80 00 00"); NodeDescriptor descriptor = new NodeDescriptor(); DefaultDeserializer deserializer = new DefaultDeserializer(packet); descriptor.deserialize(deserializer); System.out.println(descriptor); assertEquals(0, descriptor.getManufacturerCode()); assertEquals(LogicalType.COORDINATOR, descriptor.getLogicalType()); }
@Test public void testNodeDescriptor() { NodeDescriptor descriptor = new NodeDescriptor(0, 3333, 74, true, 6666, 0, 6, 4444, true, 8); assertTrue(descriptor.isComplexDescriptorAvailable()); assertTrue(descriptor.isUserDescriptorAvailable()); assertEquals(4444, descriptor.getIncomingTransferSize()); assertEquals(6666, descriptor.getManufacturerCode()); assertEquals(3333, descriptor.getBufferSize()); assertTrue(descriptor.getFrequencyBands().contains(FrequencyBandType.FREQ_2400_MHZ)); assertEquals(LogicalType.COORDINATOR, descriptor.getLogicalType()); assertEquals(0, descriptor.getApsFlags()); assertTrue(descriptor.getServerCapabilities().contains(ServerCapabilitiesType.PRIMARY_BINDING_TABLE_CACHE)); assertTrue(descriptor.getServerCapabilities().contains(ServerCapabilitiesType.BACKUP_TRUST_CENTER)); assertTrue(descriptor.getMacCapabilities().contains(MacCapabilitiesType.SECURITY_CAPABLE)); assertTrue(descriptor.getMacCapabilities().contains(MacCapabilitiesType.RECEIVER_ON_WHEN_IDLE)); assertTrue(descriptor.getMacCapabilities().contains(MacCapabilitiesType.FULL_FUNCTION_DEVICE)); }
@Test public void testReceive() { int[] packet = getPacketData("00 00 00 00 00 40 8F CD AB 52 80 00 41 2A 80 00 00"); // data=01 90 45 00 00 00 02 80 00 00 40 01 00 00 36 FF 00 00 00 FF FF 11 00 00 00 00 00 40 8F CD AB 52 80 00 41 // 2A // 80 00 00] NodeDescriptorResponse descriptorResponse = new NodeDescriptorResponse(); DefaultDeserializer deserializer = new DefaultDeserializer(packet); ZclFieldDeserializer fieldDeserializer = new ZclFieldDeserializer(deserializer); descriptorResponse.deserialize(fieldDeserializer); System.out.println(descriptorResponse); NodeDescriptor nodeDescriptor = descriptorResponse.getNodeDescriptor(); assertEquals(82, nodeDescriptor.getBufferSize()); assertEquals(128, nodeDescriptor.getIncomingTransferSize()); assertEquals(43981, nodeDescriptor.getManufacturerCode()); } }