11package com .baeldung .java8 .optional ;
22
3- import com .baeldung .java_8_features .Person ;
4- import org .junit .Test ;
3+ import static org .junit .Assert .assertEquals ;
4+ import static org .junit .Assert .assertFalse ;
5+ import static org .junit .Assert .assertTrue ;
56
67import java .util .Arrays ;
78import java .util .List ;
89import java .util .NoSuchElementException ;
910import java .util .Optional ;
1011
11- import static org .junit .Assert .*;
12+ import org .junit .Test ;
13+
14+ import com .baeldung .java_8_features .Person ;
1215
1316public class OptionalTest {
1417 // creating Optional
@@ -87,13 +90,9 @@ public void givenOptionalWithNull_whenGetThrowsException_thenCorrect() {
8790 public void whenOptionalFilterWorks_thenCorrect () {
8891 Integer year = 2016 ;
8992 Optional <Integer > yearOptional = Optional .of (year );
90- boolean is2016 = yearOptional
91- .filter (y -> y == 2016 )
92- .isPresent ();
93+ boolean is2016 = yearOptional .filter (y -> y == 2016 ).isPresent ();
9394 assertTrue (is2016 );
94- boolean is2017 = yearOptional
95- .filter (y -> y == 2017 )
96- .isPresent ();
95+ boolean is2017 = yearOptional .filter (y -> y == 2017 ).isPresent ();
9796 assertFalse (is2017 );
9897 }
9998
@@ -103,8 +102,7 @@ public void givenOptional_whenMapWorks_thenCorrect() {
103102 List <String > companyNames = Arrays .asList ("paypal" , "oracle" , "" , "microsoft" , "" , "apple" );
104103 Optional <List <String >> listOptional = Optional .of (companyNames );
105104
106- int size = listOptional .map (List ::size )
107- .orElse (0 );
105+ int size = listOptional .map (List ::size ).orElse (0 );
108106 assertEquals (6 , size );
109107 }
110108
@@ -113,24 +111,18 @@ public void givenOptional_whenMapWorks_thenCorrect2() {
113111 String name = "baeldung" ;
114112 Optional <String > nameOptional = Optional .of (name );
115113
116- int len = nameOptional
117- .map (String ::length )
118- .orElse (0 );
114+ int len = nameOptional .map (String ::length ).orElse (0 );
119115 assertEquals (8 , len );
120116 }
121117
122118 @ Test
123119 public void givenOptional_whenMapWorksWithFilter_thenCorrect () {
124120 String password = " password " ;
125121 Optional <String > passOpt = Optional .of (password );
126- boolean correctPassword = passOpt
127- .filter (pass -> pass .equals ("password" ))
128- .isPresent ();
122+ boolean correctPassword = passOpt .filter (pass -> pass .equals ("password" )).isPresent ();
129123 assertFalse (correctPassword );
130124
131- correctPassword = passOpt .map (String ::trim )
132- .filter (pass -> pass .equals ("password" ))
133- .isPresent ();
125+ correctPassword = passOpt .map (String ::trim ).filter (pass -> pass .equals ("password" )).isPresent ();
134126 assertTrue (correctPassword );
135127 }
136128
@@ -140,17 +132,12 @@ public void givenOptional_whenFlatMapWorks_thenCorrect2() {
140132 Person person = new Person ("john" , 26 );
141133 Optional <Person > personOptional = Optional .of (person );
142134
143- Optional <Optional <String >> nameOptionalWrapper = personOptional
144- .map (Person ::getName );
145- Optional <String > nameOptional = nameOptionalWrapper
146- .orElseThrow (IllegalArgumentException ::new );
147- String name1 = nameOptional
148- .orElseThrow (IllegalArgumentException ::new );
135+ Optional <Optional <String >> nameOptionalWrapper = personOptional .map (Person ::getName );
136+ Optional <String > nameOptional = nameOptionalWrapper .orElseThrow (IllegalArgumentException ::new );
137+ String name1 = nameOptional .orElseThrow (IllegalArgumentException ::new );
149138 assertEquals ("john" , name1 );
150139
151- String name = personOptional
152- .flatMap (Person ::getName )
153- .orElseThrow (IllegalArgumentException ::new );
140+ String name = personOptional .flatMap (Person ::getName ).orElseThrow (IllegalArgumentException ::new );
154141 assertEquals ("john" , name );
155142 }
156143
@@ -160,28 +147,23 @@ public void givenOptional_whenFlatMapWorksWithFilter_thenCorrect() {
160147 person .setPassword ("password" );
161148 Optional <Person > personOptional = Optional .of (person );
162149
163- String password = personOptional
164- .flatMap (Person ::getPassword )
165- .filter (cleanPass -> cleanPass .equals ("password" ))
166- .orElseThrow (IllegalArgumentException ::new );
150+ String password = personOptional .flatMap (Person ::getPassword ).filter (cleanPass -> cleanPass .equals ("password" )).orElseThrow (IllegalArgumentException ::new );
167151 assertEquals ("password" , password );
168152 }
169153
170154 // Default Value With orElse
171155 @ Test
172156 public void whenOrElseWorks_thenCorrect () {
173157 String nullName = null ;
174- String name = Optional .ofNullable (nullName )
175- .orElse ("john" );
158+ String name = Optional .ofNullable (nullName ).orElse ("john" );
176159 assertEquals ("john" , name );
177160 }
178161
179162 // Default Value With orElseGet
180163 @ Test
181164 public void whenOrElseGetWorks_thenCorrect () {
182165 String nullName = null ;
183- String name = Optional .ofNullable (nullName )
184- .orElseGet (() -> "john" );
166+ String name = Optional .ofNullable (nullName ).orElseGet (() -> "john" );
185167 assertEquals ("john" , name );
186168
187169 }
@@ -190,36 +172,31 @@ public void whenOrElseGetWorks_thenCorrect() {
190172 public void whenOrElseGetAndOrElseOverlap_thenCorrect () {
191173 String text = null ;
192174 System .out .println ("Using orElseGet:" );
193- String defaultText = Optional .ofNullable (text )
194- .orElseGet (this ::getMyDefault );
175+ String defaultText = Optional .ofNullable (text ).orElseGet (this ::getMyDefault );
195176 assertEquals ("Default Value" , defaultText );
196177
197178 System .out .println ("Using orElse:" );
198- defaultText = Optional .ofNullable (text )
199- .orElse (getMyDefault ());
179+ defaultText = Optional .ofNullable (text ).orElse (getMyDefault ());
200180 assertEquals ("Default Value" , defaultText );
201181 }
202182
203183 @ Test
204184 public void whenOrElseGetAndOrElseDiffer_thenCorrect () {
205185 String text = "Text present" ;
206186 System .out .println ("Using orElseGet:" );
207- String defaultText = Optional .ofNullable (text )
208- .orElseGet (this ::getMyDefault );
187+ String defaultText = Optional .ofNullable (text ).orElseGet (this ::getMyDefault );
209188 assertEquals ("Text present" , defaultText );
210189
211190 System .out .println ("Using orElse:" );
212- defaultText = Optional .ofNullable (text )
213- .orElse (getMyDefault ());
191+ defaultText = Optional .ofNullable (text ).orElse (getMyDefault ());
214192 assertEquals ("Text present" , defaultText );
215193 }
216194
217195 // Exceptions With orElseThrow
218196 @ Test (expected = IllegalArgumentException .class )
219197 public void whenOrElseThrowWorks_thenCorrect () {
220198 String nullName = null ;
221- String name = Optional .ofNullable (nullName )
222- .orElseThrow (IllegalArgumentException ::new );
199+ String name = Optional .ofNullable (nullName ).orElseThrow (IllegalArgumentException ::new );
223200 }
224201
225202 public String getMyDefault () {
0 commit comments