// @Test public void peerShouldHaveConsistentPieceCount() throws InterruptedException, THPRequestException, HashException, CannotUnserializeException, CannotReadTokenException, CannotReadBencodedException { lock = new CountDownLatch(2); initGuice(); initEventBus(); initTorrentStream(); initClient(); client.loadMetaInfo(torrentStream); client.refreshPeerList(); System.out.println("Refreshing peer list"); lock.await(30, TimeUnit.SECONDS); assertNotNull(peers); assertFalse(peers.isEmpty()); Peer testedPeer = peers.iterator().next(); expectedMessageReceived = false; expectedMessageType = MessageType.HANDSHAKE; lock = new CountDownLatch(2); testedPeer.connect(); lock.await(30, TimeUnit.SECONDS); assertTrue(testedPeer.getPeerId() != null); assertEquals(metaInfo.getInformation().getPieceCount(), testedPeer.getExpectedPieceCount()); }