Search in sources :

Example 61 with Sum

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());
}
Also used : IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Sum(org.eclipse.collections.impl.math.Sum) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Test(org.junit.Test)

Example 62 with Sum

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());
}
Also used : IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Sum(org.eclipse.collections.impl.math.Sum) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Test(org.junit.Test)

Example 63 with Sum

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());
}
Also used : IntegerSum(org.eclipse.collections.impl.math.IntegerSum) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Sum(org.eclipse.collections.impl.math.Sum) Test(org.junit.Test)

Example 64 with Sum

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());
}
Also used : LazyIterable(org.eclipse.collections.api.LazyIterable) ObjectIntProcedure(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure) SumProcedure(org.eclipse.collections.impl.math.SumProcedure) LazyIterate(org.eclipse.collections.impl.utility.LazyIterate) Procedure2(org.eclipse.collections.api.block.procedure.Procedure2) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Interval(org.eclipse.collections.impl.list.Interval) Test(org.junit.Test) Sum(org.eclipse.collections.impl.math.Sum) Assert(org.junit.Assert) FastList(org.eclipse.collections.impl.list.mutable.FastList) Before(org.junit.Before) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Sum(org.eclipse.collections.impl.math.Sum) Test(org.junit.Test)

Example 65 with Sum

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());
}
Also used : SumProcedure(org.eclipse.collections.impl.math.SumProcedure) Test(org.junit.Test) Sum(org.eclipse.collections.impl.math.Sum) FastList(org.eclipse.collections.impl.list.mutable.FastList) LazyIterable(org.eclipse.collections.api.LazyIterable) ObjectIntProcedure(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure) LazyIterate(org.eclipse.collections.impl.utility.LazyIterate) Procedure2(org.eclipse.collections.api.block.procedure.Procedure2) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Interval(org.eclipse.collections.impl.list.Interval) Assert(org.junit.Assert) Predicates(org.eclipse.collections.impl.block.factory.Predicates) Before(org.junit.Before) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Sum(org.eclipse.collections.impl.math.Sum) IntegerSum(org.eclipse.collections.impl.math.IntegerSum) Test(org.junit.Test)

Aggregations

IntegerSum (org.eclipse.collections.impl.math.IntegerSum)88 Sum (org.eclipse.collections.impl.math.Sum)88 Test (org.junit.Test)76 BatchIterable (org.eclipse.collections.impl.parallel.BatchIterable)20 MutableMap (org.eclipse.collections.api.map.MutableMap)17 Map (java.util.Map)16 Interval (org.eclipse.collections.impl.list.Interval)10 FastList (org.eclipse.collections.impl.list.mutable.FastList)10 UnifiedMap (org.eclipse.collections.impl.map.mutable.UnifiedMap)10 Assert (org.junit.Assert)10 ObjectIntProcedure (org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)9 HashMap (java.util.HashMap)8 ImmutableEntry (org.eclipse.collections.impl.tuple.ImmutableEntry)8 Procedure2 (org.eclipse.collections.api.block.procedure.Procedure2)7 Predicates (org.eclipse.collections.impl.block.factory.Predicates)7 Before (org.junit.Before)7 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)6 LazyIterable (org.eclipse.collections.api.LazyIterable)6 Verify (org.eclipse.collections.impl.test.Verify)6 BigInteger (java.math.BigInteger)5