package de.invesdwin.util.math.decimal.internal; import java.util.ArrayList; import java.util.List; import javax.annotation.concurrent.NotThreadSafe; import org.junit.Test; import de.invesdwin.util.assertions.Assertions; import de.invesdwin.util.math.decimal.Decimal; import de.invesdwin.util.math.decimal.config.BSplineInterpolationConfig; import de.invesdwin.util.math.decimal.config.InterpolationConfig; @NotThreadSafe public class DecimalAggregateInterpolationsTest { @Test public void testBezierCurveLimits() { final List<Decimal> values = new ArrayList<Decimal>(); for (int i = 0; i < 100000; i++) { values.add(new Decimal(i)); } final List<? extends Decimal> interpolatedValues = Decimal.valueOf(values) .bezierCurveInterpolation(new InterpolationConfig()) .values(); Assertions.assertThat(values).hasSameSizeAs(interpolatedValues); } @Test public void testBSplineLimits() { final List<Decimal> values = new ArrayList<Decimal>(); for (int i = 0; i < 21; i++) { values.add(new Decimal(i)); } final List<? extends Decimal> interpolatedValues = Decimal.valueOf(values) .bSplineInterpolation(new BSplineInterpolationConfig().withDegree(values.size() - 1)) .values(); Assertions.assertThat(values).hasSameSizeAs(interpolatedValues); } }