EddystoneURL extends EddystoneBase { public static String decode(byte[] data) { return null == data ? null : decode(data, 0, data.length); } EddystoneURL(String url, byte[] lockKey, @Advertiser.Mode int mode,
                        @Advertiser.Power int txPowerLevel, String name);  EddystoneURL(String url, @Advertiser.Mode int mode,
                        @Advertiser.Power int txPowerLevel, String name);  EddystoneURL(String url, @Advertiser.Mode int mode,
                        @Advertiser.Power int txPowerLevel);  EddystoneURL(String url, byte[] lockKey, String name);  EddystoneURL(String url, String name);  EddystoneURL(String url, byte[] lockKey);  EddystoneURL(String url); static String decode(byte[] data); static String decode(byte[] data, int offset, int length); static byte[] encode(String url); @Override int getKind(); @Override EddystoneBase cloneBeacon(); @Override Advertiser createAdvertiser(BleService service); @Override CharSequence getNotificationSubject(); @Override EddystoneURLEditor edit(); String getURL();  }
@Test public void decode() throws Exception { for (Map.Entry<String, byte[]> entry : valid.entrySet()) { assertEquals(entry.getKey(), EddystoneURL.decode(entry.getValue())); } for (Map.Entry<String, byte[]> entry : unexpanded.entrySet()) { assertEquals(entry.getKey(), EddystoneURL.decode(entry.getValue())); } for (byte[] bytes : undecodable) { assertEquals(null, EddystoneURL.decode(bytes)); } }