@Test public void getPossibleTypes() throws AddressMalformedException { List<CoinType> types = GenericUtils.getPossibleTypes("BPa5FmbZRGpmNfy4qaUzarXwSSFbJKFRMQ"); assertTrue(types.contains(BlackcoinMain.get())); assertTrue(types.contains(NuBitsMain.get())); assertTrue(GenericUtils.hasMultipleTypes("BPa5FmbZRGpmNfy4qaUzarXwSSFbJKFRMQ")); // Many coins share Bitcoin's multisig addresses... types = GenericUtils.getPossibleTypes("3Lp1ZbdoDfZF21BLMBpctM6CrM6j4t2JyU"); assertTrue(types.contains(BitcoinMain.get())); assertTrue(types.contains(LitecoinMain.get())); assertTrue(types.contains(FeathercoinMain.get())); assertTrue(types.contains(DigitalcoinMain.get())); assertTrue(GenericUtils.hasMultipleTypes("3Lp1ZbdoDfZF21BLMBpctM6CrM6j4t2JyU")); // Address method AbstractAddress address = BlackcoinMain.get().newAddress("BPa5FmbZRGpmNfy4qaUzarXwSSFbJKFRMQ"); types = GenericUtils.getPossibleTypes(address); assertTrue(types.contains(BlackcoinMain.get())); assertTrue(types.contains(NuBitsMain.get())); assertTrue(GenericUtils.hasMultipleTypes(address)); // Classic Bitcoin addresses should have only one type types = GenericUtils.getPossibleTypes("1AjnxP4frz7Nb4v2soLnhN2uV9UocqvaGH"); assertTrue(types.contains(BitcoinMain.get())); assertEquals(1, types.size()); assertFalse(GenericUtils.hasMultipleTypes("1AjnxP4frz7Nb4v2soLnhN2uV9UocqvaGH")); }
@Test public void testGetTime() throws ShapeShiftException, IOException, InterruptedException, JSONException, AddressMalformedException { // Schedule some responses. server.enqueue(new MockResponse().setBody(GET_TIME_PENDING_JSON)); server.enqueue(new MockResponse().setBody(GET_TIME_EXPIRED_JSON)); AbstractAddress address = NuBitsMain.get().newAddress("BPjxHqswNZB5vznbrAAxi5zGVq3ruhtBU8"); ShapeShiftTime timeReply = shapeShift.getTime(address); assertFalse(timeReply.isError); assertEquals(ShapeShiftTime.Status.PENDING, timeReply.status); assertEquals(100, timeReply.secondsRemaining); timeReply = shapeShift.getTime(address); assertFalse(timeReply.isError); assertEquals(ShapeShiftTime.Status.EXPIRED, timeReply.status); assertEquals(0, timeReply.secondsRemaining); // Optional: confirm that your app made the HTTP requests you were expecting. RecordedRequest request = server.takeRequest(); assertEquals("/timeremaining/BPjxHqswNZB5vznbrAAxi5zGVq3ruhtBU8", request.getPath()); request = server.takeRequest(); assertEquals("/timeremaining/BPjxHqswNZB5vznbrAAxi5zGVq3ruhtBU8", request.getPath()); }