use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedSetWithHashingStrategyTest method lazyRejectForEach.
/**
* @deprecated since 3.0.
*/
@Deprecated
@Test
public void lazyRejectForEach() {
UnifiedSetWithHashingStrategy<Integer> integers = UnifiedSetWithHashingStrategy.newSetWith(INTEGER_HASHING_STRATEGY, 1, 2, 3, 4, 5);
LazyIterable<Integer> select = integers.lazyReject(Predicates.lessThan(5));
Sum sum = new IntegerSum(0);
select.forEach(new SumProcedure<>(sum));
Assert.assertEquals(5L, sum.getValue().intValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class UnifiedSetWithHashingStrategyTest method batchForEach.
@Test
public void batchForEach() {
// Testing batch size of 1 to 16 with no chains
UnifiedSet<Integer> set = UnifiedSet.<Integer>newSet(10).with(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
for (int sectionCount = 1; sectionCount <= 16; ++sectionCount) {
Sum sum = new IntegerSum(0);
for (int sectionIndex = 0; sectionIndex < sectionCount; ++sectionIndex) {
set.batchForEach(new SumProcedure<>(sum), sectionIndex, sectionCount);
}
Assert.assertEquals(55, sum.getValue());
}
// Testing 1 batch with chains
Sum sum2 = new IntegerSum(0);
UnifiedSetWithHashingStrategy<Integer> set2 = UnifiedSetWithHashingStrategy.newSet(INTEGER_HASHING_STRATEGY, 3).with(COLLISION_1, COLLISION_2, COLLISION_3, 1, 2);
int numBatches = set2.getBatchCount(100);
for (int i = 0; i < numBatches; ++i) {
set2.batchForEach(new SumProcedure<>(sum2), i, numBatches);
}
Assert.assertEquals(1, numBatches);
Assert.assertEquals(54, sum2.getValue());
// Testing batch size of 3 with chains and uneven last batch
Sum sum3 = new IntegerSum(0);
UnifiedSetWithHashingStrategy<Integer> set3 = UnifiedSetWithHashingStrategy.newSet(INTEGER_HASHING_STRATEGY, 4, 1.0F).with(COLLISION_1, COLLISION_2, 1, 2, 3, 4, 5);
int numBatches2 = set3.getBatchCount(3);
for (int i = 0; i < numBatches2; ++i) {
set3.batchForEach(new SumProcedure<>(sum3), i, numBatches2);
}
Assert.assertEquals(32, sum3.getValue());
// Test batchForEach on empty set, it should simply do nothing and not throw any exceptions
Sum sum4 = new IntegerSum(0);
UnifiedSetWithHashingStrategy<Integer> set4 = UnifiedSetWithHashingStrategy.newSet(INTEGER_HASHING_STRATEGY);
set4.batchForEach(new SumProcedure<>(sum4), 0, set4.getBatchCount(1));
Assert.assertEquals(0, sum4.getValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class DropIterableTest method forEach.
@Test
public void forEach() {
Sum sum1 = new IntegerSum(0);
this.dropIterable.forEach(new SumProcedure<>(sum1));
Assert.assertEquals(12, sum1.getValue().intValue());
Sum sum2 = new IntegerSum(0);
this.emptyListDropIterable.forEach(new SumProcedure<>(sum2));
Assert.assertEquals(0, sum2.getValue().intValue());
Sum sum3 = new IntegerSum(0);
this.zeroCountDropIterable.forEach(new SumProcedure<>(sum3));
Assert.assertEquals(15, sum3.getValue().intValue());
Sum sum5 = new IntegerSum(0);
this.nearCountDropIterable.forEach(new SumProcedure<>(sum5));
Assert.assertEquals(5, sum5.getValue().intValue());
Sum sum6 = new IntegerSum(0);
this.sameCountDropIterable.forEach(new SumProcedure<>(sum6));
Assert.assertEquals(0, sum6.getValue().intValue());
Sum sum7 = new IntegerSum(0);
this.higherCountDropIterable.forEach(new SumProcedure<>(sum7));
Assert.assertEquals(0, sum7.getValue().intValue());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class DropIterableTest method forEachWithIndex.
@Test
public void forEachWithIndex() {
Sum sum = new IntegerSum(0);
FastList<Integer> indices = FastList.newList(5);
ObjectIntProcedure<Integer> indexRecordingAndSumProcedure = (each, index) -> {
indices.add(index);
sum.add(each);
};
this.dropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0, 1, 2), indices);
Assert.assertEquals(12, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.emptyListDropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(0, indices.size());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.zeroCountDropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0, 1, 2, 3, 4), indices);
Assert.assertEquals(15, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.nearCountDropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0), indices);
Assert.assertEquals(5, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.sameCountDropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(0, indices.size());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.higherCountDropIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(0, indices.size());
}
use of org.eclipse.collections.impl.math.Sum in project eclipse-collections by eclipse.
the class DropWhileIterableTest method forEachWithIndex.
@Test
public void forEachWithIndex() {
Sum sum = new IntegerSum(0);
FastList<Integer> indices = FastList.newList(5);
ObjectIntProcedure<Integer> indexRecordingAndSumProcedure = (each, index) -> {
indices.add(index);
sum.add(each);
};
this.dropWhileIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0, 1, 2), indices);
Assert.assertEquals(12, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.emptyListDropWhileIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(0, indices.size());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.alwaysFalseDropWhileIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0, 1, 2, 3, 4), indices);
Assert.assertEquals(15, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.mostlyFalseDropWhileIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(FastList.newListWith(0), indices);
Assert.assertEquals(5, sum.getValue().intValue());
indices.clear();
sum.add(sum.getValue().intValue() * -1);
this.alwaysTrueDropWhileIterable.forEachWithIndex(indexRecordingAndSumProcedure);
Assert.assertEquals(0, indices.size());
}
Aggregations