planetiler/planetiler-core/src/test/java/com/onthegomap/planetiler/util/TryTest.java

36 wiersze
1013 B
Java

package com.onthegomap.planetiler.util;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
class TryTest {
@Test
void success() {
var result = Try.apply(() -> 1);
assertEquals(Try.success(1), result);
assertEquals(1, result.get());
}
@Test
void failure() {
var exception = new IllegalStateException();
var result = Try.apply(() -> {
throw exception;
});
assertEquals(Try.failure(exception), result);
assertThrows(IllegalStateException.class, result::get);
}
@Test
void cast() {
var result = Try.apply(() -> 1);
assertEquals(Try.success(1), result.cast(Number.class));
assertTrue(result.cast(String.class).isFailure());
assertInstanceOf(ClassCastException.class, result.cast(String.class).exception());
}
}