/** * Removes the edge from the two nodes and recycles the data structure */ void detachEdge(SquareEdge edge) { edge.a.edges[edge.sideA] = null; edge.b.edges[edge.sideB] = null; edge.distance = 0; edges.recycleInstance(edge); }
@Test public void requestInstance_recycleInstance() { RecycleManager<Dummy> manager = new RecycleManager<Dummy>(Dummy.class); Dummy first = manager.requestInstance(); Dummy second = manager.requestInstance(); manager.recycleInstance(first); Dummy third = manager.requestInstance(); assertTrue(first==third); assertTrue(first!=second); assertEquals(0, manager.unused.size()); }