package org.test4j.tools.datagen;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Iterator;
import org.junit.Test;
import org.test4j.junit.Test4J;
import org.test4j.junit.annotations.DataFrom;
@SuppressWarnings("rawtypes")
public class IncreaseDataGeneratorTest extends Test4J {
@Test
@DataFrom("dataIncrease")
public void testIncreaseDataGenerator(Number from, Number step, int index, Number expected) {
AbastractDataGenerator generator = IncreaseDataGenerator.increase(from, step);
Object result = generator.generate(index);
want.object(result).isEqualTo(expected);
}
public static Iterator dataIncrease() {
return new DataIterator() {
{
data(4, 1, 10, 14);
data(2L, 2L, 5, 12L);
data(Short.valueOf("1"), Short.valueOf("2"), 10, Short.valueOf("21"));
data(1.0d, 2.0d, 5, 11.0d);
data(1.0f, 2.0f, 4, 9.0f);
data(BigInteger.valueOf(1), BigInteger.valueOf(3), 2, BigInteger.valueOf(7));
data(BigDecimal.valueOf(4.0), BigDecimal.valueOf(3), 0, BigDecimal.valueOf(4.0));
}
};
}
@Test
public void testIncreaseDataGenerator_Failure() {
AbastractDataGenerator generator = IncreaseDataGenerator.increase(1, 2.0);
Object result = generator.generate(3);
want.object(result).isEqualTo(7);
}
}