1+ package com .baeldung .optionals ;
2+
3+ import static org .junit .Assert .assertEquals ;
4+
5+ import java .util .Optional ;
6+
7+ import org .junit .Test ;
8+
9+ public class OptionalsTest {
10+
11+ @ Test
12+ public void givenOptional_whenEmptyValue_thenCustomMessage () {
13+ assertEquals (Optional .of ("Name not provided" ), Optionals .getName (Optional .ofNullable (null )));
14+ }
15+
16+ @ Test
17+ public void givenOptional_whenValue_thenOptional () {
18+ String name = "Filan Fisteku" ;
19+ Optional <String > optionalString = Optional .ofNullable (name );
20+ assertEquals (optionalString , Optionals .getName (optionalString ));
21+ }
22+
23+ @ Test
24+ public void givenOptional_whenValue_thenOptionalGeneralMethod () {
25+ String name = "Filan Fisteku" ;
26+ String missingOptional = "Name not provided" ;
27+ Optional <String > optionalString = Optional .ofNullable (name );
28+ Optional <String > fallbackOptionalString = Optional .ofNullable (missingOptional );
29+ assertEquals (optionalString , Optionals .or (optionalString , fallbackOptionalString ));
30+ }
31+
32+ @ Test
33+ public void givenEmptyOptional_whenValue_thenOptionalGeneralMethod () {
34+ String missingOptional = "Name not provided" ;
35+ Optional <String > optionalString = Optional .empty ();
36+ Optional <String > fallbackOptionalString = Optional .ofNullable (missingOptional );
37+ assertEquals (fallbackOptionalString , Optionals .or (optionalString , fallbackOptionalString ));
38+ }
39+
40+ @ Test
41+ public void givenGuavaOptional_whenInvoke_thenOptional () {
42+ String name = "Filan Fisteku" ;
43+ com .google .common .base .Optional <String > stringOptional = com .google .common .base .Optional .of (name );
44+ assertEquals (stringOptional , Optionals .getOptionalGuavaName (stringOptional ));
45+ }
46+
47+ @ Test
48+ public void givenGuavaOptional_whenNull_thenDefaultText () {
49+ assertEquals (com .google .common .base .Optional .of ("Name not provided" ), Optionals .getOptionalGuavaName (com .google .common .base .Optional .fromNullable (null )));
50+ }
51+ }
0 commit comments