From 04b9bd038225f6da4395e01fa84afc834a5a118d Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Mon, 26 Jun 2017 16:37:03 +0200 Subject: [PATCH] Idiomatic refactor (#2161) --- .../VavrExceptionHandlingUnitTest.java | 67 ++++++++++--------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java b/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java index d03422b6f7..140593218f 100644 --- a/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java +++ b/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java @@ -1,22 +1,22 @@ package com.baeldung.vavr.exception.handling; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - +import io.vavr.API; +import io.vavr.CheckedFunction1; +import io.vavr.Value; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.vavr.API; -import io.vavr.CheckedFunction1; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; public class VavrExceptionHandlingUnitTest { private static final Logger LOG = LoggerFactory.getLogger(VavrExceptionHandlingUnitTest.class); - + private List integers; private List validIntegersOnly; @@ -28,50 +28,53 @@ public class VavrExceptionHandlingUnitTest { @Test public void exceptionCausingMethod_UsingCheckedFunction_ThenSuccess() { - CheckedFunction1 fn = i -> readFromFile(i); - - validIntegersOnly.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); + CheckedFunction1 fn = i -> readFromFile(i); + + validIntegersOnly.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); } - + @Test(expected = IOException.class) public void exceptionCausingMethod_UsingCheckedFunction_ThenFailure() { - CheckedFunction1 fn = i -> readFromFile(i); - - integers.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); + CheckedFunction1 fn = i -> readFromFile(i); + + integers.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); } - + @Test public void exceptionCausingMethod_UsingAPI_ThenSuccess() { - validIntegersOnly.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); + validIntegersOnly.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); } @Test(expected = IOException.class) public void exceptionCausingMethod_UsingAPI_ThenFailure() { - integers.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); + integers.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); } @Test public void exceptionCausingMethod_UsingLift_ThenSuccess() { - validIntegersOnly.stream().map(CheckedFunction1.lift(i -> readFromFile(i))) - .map(i -> i.getOrElse(-1)) - .forEach(i -> {Assert.assertNotSame(-1, i);LOG.debug("{}", i);}); + validIntegersOnly.stream().map(CheckedFunction1.lift(i -> readFromFile(i))) + .map(i -> i.getOrElse(-1)) + .forEach(i -> { + Assert.assertNotSame(-1, i); + LOG.debug("{}", i); + }); } - + @Test public void exceptionCausingMethod_UsingLift_ThenFailure() { - integers.stream().map(CheckedFunction1.lift(i -> readFromFile(i))) - .map(i -> i.getOrElse(-1)) - .forEach(i -> LOG.debug("{}", i)); - + integers.stream() + .map(CheckedFunction1.lift(i -> readFromFile(i))) + .map(i -> i.getOrElse(-1)) + .forEach(i -> LOG.debug("{}", i)); + } - + @Test public void exceptionCausingMethod_UsingTry_ThenSuccess() { - - integers.stream().map(CheckedFunction1.liftTry(i -> readFromFile(i))) - .map(i -> i.onFailure(e -> Assert.assertTrue(e instanceof IOException))) - .map(i -> i.onSuccess(e -> LOG.debug("{}", e))) - .forEach(i -> {}); + integers.stream() + .map(CheckedFunction1.liftTry(VavrExceptionHandlingUnitTest::readFromFile)) + .flatMap(Value::toJavaStream) + .forEach(i -> LOG.debug("{}", i)); } private static Integer readFromFile(Integer i) throws IOException { @@ -80,5 +83,5 @@ public class VavrExceptionHandlingUnitTest { } return i * i; } - + }