package com.annimon.stream.function; import java.io.IOException; import org.junit.Test; import static org.junit.Assert.*; /** * Tests {@code ThrowableSupplier}. * * @see com.annimon.stream.function.ThrowableSupplier */ public class ThrowableSupplierTest { @Test public void testGetWithIOException() { assertEquals("fantastic", (new ThrowableSupplier<String, IOException>() { @Override public String get() { return "fantastic"; } }).get()); } @Test public void testGetDoubleWithRuntimeException() { ThrowableSupplier<Double, RuntimeException> supplier = new ThrowableSupplier<Double, RuntimeException>() { @Override public Double get() { return Double.parseDouble("5"); } }; assertEquals(5, supplier.get(), 0.1); } @Test(expected = NumberFormatException.class) public void testGetDoubleWithRuntimeExceptionAndWrongValue() { ThrowableSupplier<Double, RuntimeException> supplier = new ThrowableSupplier<Double, RuntimeException>() { @Override public Double get() { return Double.parseDouble("abc"); } }; supplier.get(); } }