PowerLawDegreeEdgePool extends AbstractPowerLawDegreeEdgePool { public PowerLawDegreeEdgePool( int expectedNumNodes, int expectedMaxDegree, double powerLawExponent, StatsReceiver statsReceiver) { super(expectedNumNodes, expectedMaxDegree, powerLawExponent, statsReceiver); RegularDegreeEdgePool[] edgePools = new RegularDegreeEdgePool[numPools]; int[] poolDegrees = new int[numPools]; readerAccessibleInfo = new ReaderAccessibleInfo(edgePools, poolDegrees, new int[expectedNumNodes]); for (int i = 0; i < numPools; i++) { initPool(i); } currentNumEdgesStored = 0; } PowerLawDegreeEdgePool(
      int expectedNumNodes,
      int expectedMaxDegree,
      double powerLawExponent,
      StatsReceiver statsReceiver); @Override void addEdge(int nodeA, int nodeB); @Override void addEdge(int nodeA, int nodeB, long metadata); @Override boolean hasEdgeMetadata();  }
@Test public void testPowerLawDegreeEdgePool() throws Exception { int maxNumNodes = 4; int maxDegree = 6; PowerLawDegreeEdgePool powerLawDegreeEdgePool = new PowerLawDegreeEdgePool(maxNumNodes, maxDegree, 2.0, new NullStatsReceiver()); for (int i = 0; i < 3; i++) { addEdgesToPool(powerLawDegreeEdgePool); testAndResetPool(powerLawDegreeEdgePool); } }