### Question:
EddystoneBeacon { public static EddystoneBeacon parseFromServiceData(byte[] urlServiceData, byte[] uriServiceData) { if (urlServiceData != null && urlServiceData.length > 2) { byte flags = (byte) (urlServiceData[0] & 0x0f); byte txPowerLevel = urlServiceData[1]; return eddystoneBeaconBuilder(flags, txPowerLevel, decode(urlServiceData)); } if (uriServiceData != null && uriServiceData.length > 2) { byte flags = uriServiceData[0]; byte txPowerLevel = uriServiceData[1]; return eddystoneBeaconBuilder(flags, txPowerLevel, decode(uriServiceData)); } return null; } private  EddystoneBeacon(byte flags, byte txPower, String url); static String getFatBeaconTitle(byte[] serviceData); static boolean isFatBeacon(byte[] serviceData); static boolean isUrlFrame(byte[] serviceData); static EddystoneBeacon parseFromServiceData(byte[] urlServiceData, byte[] uriServiceData); String getUrl(); byte getTxPowerLevel(); byte getFlags();  }### Answer:
@Test public void parseFromServiceDataTest() { assertNull(EddystoneBeacon.parseFromServiceData(null, null)); assertNull(EddystoneBeacon.parseFromServiceData(new byte[]{}, null)); assertNull(EddystoneBeacon.parseFromServiceData(new byte[]{0x01}, null)); assertNull(EddystoneBeacon.parseFromServiceData(new byte[]{0x01, 0x02}, null)); assertNull(EddystoneBeacon.parseFromServiceData(null, new byte[]{})); assertNull(EddystoneBeacon.parseFromServiceData(null, new byte[]{0x01})); assertNull(EddystoneBeacon.parseFromServiceData(null, new byte[]{0x01, 0x02})); assertNull(EddystoneBeacon.parseFromServiceData(new byte[]{0x10, 0x00, 0x4f}, null)); EddystoneBeacon beacon = EddystoneBeacon.parseFromServiceData(new byte[]{0x10, 0x00, 0x01}, null); assertEquals("https: assertEquals(0x00, beacon.getFlags()); assertEquals(0x00, beacon.getTxPowerLevel()); }