blob: 3cc1d785bca8707e10c25ed2955b5cf899558fe9 [file] [log] [blame]
package com.airbnb.lottie;
import com.airbnb.lottie.utils.MeanCalculator;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
public class MeanCalculatorTest {
private MeanCalculator meanCalculator;
@Before
public void setup() {
meanCalculator = new MeanCalculator();
}
@Test
public void testMeanWithNoNumbers() {
assertThat(meanCalculator.getMean(), equalTo(0f));
}
@Test
public void testMeanWithOneNumber() {
meanCalculator.add(2);
assertThat(meanCalculator.getMean(), equalTo(2f));
}
@Test
public void testMeanWithTwoNumbers() {
meanCalculator.add(2);
meanCalculator.add(4);
assertThat(meanCalculator.getMean(), equalTo(3f));
}
@Test
public void testMeanWithTwentyNumbers() {
for (int i = 1; i <= 20; i++) {
meanCalculator.add(i);
}
assertThat(meanCalculator.getMean(), equalTo(10.5f));
}
@Test
public void testMeanWithHugeNumber() {
meanCalculator.add(Integer.MAX_VALUE - 1);
meanCalculator.add(Integer.MAX_VALUE - 1);
assertThat(meanCalculator.getMean(), equalTo((float) (Integer.MAX_VALUE - 1)));
}
@Test
public void testMeanWithHugeNumberAndNegativeHugeNumber() {
meanCalculator.add(Integer.MAX_VALUE - 1);
meanCalculator.add(Integer.MAX_VALUE - 1);
meanCalculator.add(-Integer.MAX_VALUE + 1);
meanCalculator.add(-Integer.MAX_VALUE + 1);
assertThat(meanCalculator.getMean(), equalTo(0f));
}
}