package edu.cmu.graphchi.preprocessing; import org.junit.Test; import static junit.framework.Assert.assertEquals; /** * */ public class TestVertexIdTranslate { @Test public void testTranslation() { for(int verticesInShard=10; verticesInShard < 1000000; verticesInShard += 100000) { for(int numShards=(10000000 / verticesInShard + 1); numShards < 100; numShards += 13) { VertexIdTranslate trans = new VertexIdTranslate(verticesInShard, numShards); for(int j=0; j < 10000000; j+=(1+j)) { int vprime = trans.forward(j); int back = trans.backward(vprime); assertEquals(j, back); } for(int e=0; e<100; e++) { assertEquals(e, trans.backward(trans.forward(e))); } } } } @Test public void testConstructFromString() { VertexIdTranslate tr = new VertexIdTranslate(99999, 44); String str = tr.stringRepresentation(); VertexIdTranslate trReconstr = VertexIdTranslate.fromString(str); assertEquals(tr.getNumShards(), trReconstr.getNumShards()); assertEquals(tr.getVertexIntervalLength(), trReconstr.getVertexIntervalLength()); for(int j=0; j < 10000000; j+=(1+j)) { int v1 = tr.forward(j); int v2 = trReconstr.forward(j); assertEquals(v1, v2); } } }