blob: 300c0879a301ca2acf39e83c097c3a6e2b68b54e [file] [log] [blame]
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package libcore.java.util;
import java.util.LongSummaryStatistics;
public class LongSummaryStatisticsTest extends junit.framework.TestCase {
private static final long data1[] = {2, -5, 7, -1, 1, 0, 100};
private static final long data2[] = {1, 3, 2, 1, 7};
public void test_empty() {
LongSummaryStatistics lss = new LongSummaryStatistics();
assertEquals(0, lss.getCount());
assertEquals(0, lss.getSum());
assertEquals(0.0d, lss.getAverage());
assertEquals(Long.MAX_VALUE, lss.getMin());
assertEquals(Long.MIN_VALUE, lss.getMax());
}
public void test_accept() {
LongSummaryStatistics lss = new LongSummaryStatistics();
// For long values
lss.accept(100L);
assertEquals(1, lss.getCount());
assertEquals(100L, lss.getSum());
lss.accept(250L);
assertEquals(2, lss.getCount());
assertEquals(350L, lss.getSum());
// for int values
lss.accept(50);
assertEquals(3, lss.getCount());
assertEquals(400L, lss.getSum());
lss.accept(200);
assertEquals(4, lss.getCount());
assertEquals(600L, lss.getSum());
}
public void test_combine() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData2();
LongSummaryStatistics lssCombined = getLongSummaryStatisticsData1();
lssCombined.combine(lss1);
assertEquals(12, lssCombined.getCount());
assertEquals(118L, lssCombined.getSum());
assertEquals(100L, lssCombined.getMax());
assertEquals(-5L, lssCombined.getMin());
assertEquals(9.833333, lssCombined.getAverage(), 1E-6);
}
public void test_getCount() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData1();
assertEquals(data1.length, lss1.getCount());
}
public void test_getSum() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData1();
assertEquals(104L, lss1.getSum());
}
public void test_getMin() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData1();
assertEquals(-5L, lss1.getMin());
}
public void test_getMax() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData1();
assertEquals(100L, lss1.getMax());
}
public void test_getAverage() {
LongSummaryStatistics lss1 = getLongSummaryStatisticsData1();
assertEquals(14.857142, lss1.getAverage(), 1E-6);
}
private static LongSummaryStatistics getLongSummaryStatisticsData1() {
LongSummaryStatistics lss = new LongSummaryStatistics();
for (long value : data1) {
lss.accept(value);
}
return lss;
}
private static LongSummaryStatistics getLongSummaryStatisticsData2() {
LongSummaryStatistics lss = new LongSummaryStatistics();
for (long value : data2) {
lss.accept(value);
}
return lss;
}
}