diff options
Diffstat (limited to 'common-app-api/src/test/java/org/openecomp/sdc/common/util/StreamUtilsTests.java')
-rw-r--r-- | common-app-api/src/test/java/org/openecomp/sdc/common/util/StreamUtilsTests.java | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/util/StreamUtilsTests.java b/common-app-api/src/test/java/org/openecomp/sdc/common/util/StreamUtilsTests.java deleted file mode 100644 index 5ee8f42b6b..0000000000 --- a/common-app-api/src/test/java/org/openecomp/sdc/common/util/StreamUtilsTests.java +++ /dev/null @@ -1,142 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.common.util; - -import fj.data.Either; -import static org.junit.Assert.assertEquals; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static org.junit.Assert.assertTrue; - -public class StreamUtilsTests { - @Test - public void testTakeWhilePredicateNotMet() { - List<Either<Integer, Boolean>> list = buildListWith10Integers(); - - assertEquals(10, StreamUtils.takeWhile(list.stream(), Either::isLeft).count()); - } - - @Test - public void testTakeWhilePredicateIsMet() { - List<Either<Integer, Boolean>> list = buildListWith10Integers(); - addToBooleansToList(list); - - final Stream<Either<Integer, Boolean>> takeWhileStream = StreamUtils.takeWhile(list.stream(), Either::isLeft); - assertEquals(0, takeWhileStream.filter(Either::isRight).count()); - } - - @Test - public <T> void testTakeErrorEvalOnlyOnce() { - List<Integer> bucket = new ArrayList<>(); - // API - Function<Integer, Either<Integer, Boolean>> cons = num -> { - Either<Integer, Boolean> ret; - bucket.add(num); - if (num > 5) { - ret = Either.right(false); - } else { - ret = Either.left(num); - } - ; - return ret; - }; - - List<Integer> num1to10 = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - Stream<Either<Integer, Boolean>> streamEithers = num1to10.stream().map(cons::apply); - List<Either<Integer, Boolean>> collect = StreamUtils.takeWhilePlusOneNoEval(streamEithers, Either::isLeft) - .collect(Collectors.toList()); - assertTrue(bucket.size() <= 6); - assertTrue(collect.size() <= 6); - assertEquals(1, collect.stream().filter(Either::isRight).count()); - - } - - @Test - public void testTakeWhilePlusOnePredicateNotMet() { - List<Either<Integer, Boolean>> list = buildListWith10Integers(); - - assertEquals(10, StreamUtils.takeWhilePlusOne(list.stream(), Either::isLeft).count()); - } - - @Test - public void testTakeWhilePlusOnePredicateIsMet() { - List<Either<Integer, Boolean>> list = buildListWith10Integers(); - addToBooleansToList(list); - - final Stream<Either<Integer, Boolean>> takeWhilePlusOneStream = StreamUtils.takeWhilePlusOne(list.stream(), - Either::isLeft); - assertEquals(1, takeWhilePlusOneStream.filter(Either::isRight).count()); - } - - private void addToBooleansToList(List<Either<Integer, Boolean>> list) { - list.add(Either.right(false)); - list.add(Either.right(false)); - } - - private List<Either<Integer, Boolean>> buildListWith10Integers() { - List<Either<Integer, Boolean>> list = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - list.add(Either.left(i)); - } - return list; - } - - @Test - public void myTest() { - List<Integer> list = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - list.add(i); - } - - List<Either<Integer, Boolean>> container = new ArrayList<>(); - list.stream().map(e -> myBusinessLogic(e, container)).filter(Either::isRight).findAny(); - // Actual Results are in container - assertEquals(6, container.size()); - - } - - private Either<Integer, Boolean> myBusinessLogic(int e, List<Either<Integer, Boolean>> cobtainerList) { - Either<Integer, Boolean> eitherElement = similuteDBAccess(e); - // Keep The results in external List - cobtainerList.add(eitherElement); - - return eitherElement; - } - - private Either<Integer, Boolean> similuteDBAccess(int e) { - Either<Integer, Boolean> eitherElement; - if (e < 5) { - // DB Success - eitherElement = Either.left(e); - } else { - // DB Fail - eitherElement = Either.right(true); - } - return eitherElement; - } -} |