package com.ldbc.driver.generator; import com.ldbc.driver.util.Bucket; import com.ldbc.driver.util.Histogram; import org.junit.Test; import java.util.Iterator; import java.util.List; import static org.junit.Assert.assertEquals; public class IncrementingGeneratorTest extends NumberGeneratorTest<Long, Long> { private final long start = 0; @Override public double getMeanTolerance() { return 0.001; } @Override public double getDistributionTolerance() { return 0.001; } @Override public Iterator<Long> getGeneratorImpl(GeneratorFactory generatorFactory) { return getGeneratorFactory().incrementing(start, 1l); } @Override public Histogram<Long, Long> getExpectedDistribution() { Histogram<Long, Long> expectedDistribution = new Histogram<Long, Long>(0l); double min = (double) start; double max = (double) getSampleSize(); int bucketCount = 10; List<Bucket<Long>> buckets = Histogram.makeBucketsOfEqualRange(min, max, bucketCount, Long.class); expectedDistribution.addBuckets(buckets, 1l); return expectedDistribution; } @Override public double getExpectedMean() { return (getSampleSize() - 1) / 2.0; } @Test public void firstNumberShouldEqualStartTest() { // Given Iterator<Long> generator = getGeneratorFactory().incrementing(start, 1l); // When long firstNumber = generator.next(); long secondNumber = generator.next(); // Then assertEquals(start, firstNumber); assertEquals(start + 1, secondNumber); } }