@Test public void testCancel() throws Exception { assertTrue(mFeed.getCreatedHandles().isEmpty()); assertTrue(mFeed.getCanceledHandles().isEmpty()); MockMarketDataFeedToken token = mFeed.execute(mTokenSpec); List<String> createdHandles = mFeed.getCreatedHandles(); assertFalse(mFeed.getCreatedHandles().isEmpty()); token.cancel(); List<String> canceledHandles = mFeed.getCanceledHandles(); assertTrue(canceledHandles.containsAll(createdHandles)); assertEquals(createdHandles.size(), canceledHandles.size()); assertEquals(MockMarketDataFeedToken.Status.CANCELED, token.getStatus()); // cancel it again, make sure nothing breaks token.cancel(); canceledHandles = mFeed.getCanceledHandles(); assertTrue(canceledHandles.containsAll(createdHandles)); assertEquals(createdHandles.size(), canceledHandles.size()); assertEquals(MockMarketDataFeedToken.Status.CANCELED, token.getStatus()); }