use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedSetWithHashingStrategyTest method lazySelectForEach.
/**
* @deprecated since 3.0.
*/
@Deprecated
@Test
public void lazySelectForEach() {
UnifiedSetWithHashingStrategy<Integer> integers = UnifiedSetWithHashingStrategy.newSetWith(INTEGER_HASHING_STRATEGY, 1, 2, 3, 4, 5);
LazyIterable<Integer> select = integers.lazySelect(Predicates.lessThan(5));
Sum sum = new IntegerSum(0);
select.forEach(new SumProcedure<>(sum));
Assert.assertEquals(10, sum.getValue().intValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedMapWithHashingStrategyTest method batchIterable_forEachNullHandling.
private void batchIterable_forEachNullHandling(BatchIterable<Integer> batchIterable, int expectedValue) {
// Testing forEach handling null keys and null values
Sum sum = new IntegerSum(0);
batchIterable.forEach(each -> sum.add(each == null ? 0 : each));
Assert.assertEquals(expectedValue, sum.getValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedMapWithHashingStrategyTest method batchForEachTestCases.
private void batchForEachTestCases(BatchIterable<Integer> batchIterable, int expectedValue) {
// Testing batch size of 1 to 16 with no chains
for (int sectionCount = 1; sectionCount <= 16; ++sectionCount) {
Sum sum = new IntegerSum(0);
for (int sectionIndex = 0; sectionIndex < sectionCount; ++sectionIndex) {
batchIterable.batchForEach(new SumProcedure<>(sum), sectionIndex, sectionCount);
}
Assert.assertEquals(expectedValue, sum.getValue());
}
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedMapWithHashingStrategyTest method batchForEachEntry_chains.
@Test
public void batchForEachEntry_chains() {
BatchIterable<Map.Entry<Integer, Integer>> collisions = (BatchIterable<Map.Entry<Integer, Integer>>) UnifiedMapWithHashingStrategy.<Integer, Integer>newMap(INTEGER_HASHING_STRATEGY, 5).withKeysValues(COLLISION_1, 1, COLLISION_2, 2, COLLISION_3, 3, 1, 4).withKeysValues(2, 5, 3, 6).entrySet();
// Testing 1 batch with chains
Sum sum2 = new IntegerSum(0);
// testing getBatchCount returns 1
int batchCount = collisions.getBatchCount(100000);
for (int i = 0; i < batchCount; ++i) {
collisions.batchForEach(new EntrySumProcedure(sum2), i, batchCount);
}
Assert.assertEquals(1, batchCount);
Assert.assertEquals(78, sum2.getValue());
// Testing 3 batches with chains and uneven last batch
Sum sum3 = new IntegerSum(0);
for (int i = 0; i < 5; ++i) {
collisions.batchForEach(new EntrySumProcedure(sum3), i, 5);
}
Assert.assertEquals(78, sum3.getValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedMapWithHashingStrategyTest method batchIterable_forEachEntry_emptySet.
@Test
public void batchIterable_forEachEntry_emptySet() {
// Test forEach on empty set, it should simply do nothing and not throw any exceptions
Sum sum = new IntegerSum(0);
BatchIterable<Map.Entry<Integer, Integer>> empty = (BatchIterable<Map.Entry<Integer, Integer>>) UnifiedMapWithHashingStrategy.newMap(INTEGER_HASHING_STRATEGY).entrySet();
empty.forEach(new EntrySumProcedure(sum));
Assert.assertEquals(0, sum.getValue());
}
Aggregations