File tree Expand file tree Collapse file tree
core-java-modules/core-java-14/src
main/java/com/baeldung/java14/helpfulnullpointerexceptions
test/java/com/baeldung/java14/helpfulnullpointerexceptions Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com .baeldung .java14 .helpfulnullpointerexceptions ;
2+
3+ public class HelpfulNullPointerException {
4+
5+ public static void main (String [] args ) {
6+ Employee employee = null ;
7+ employee .getName ();
8+ }
9+
10+ public String getEmployeeEmailAddress (Employee employee ) {
11+ String emailAddress = employee .getPersonalDetails ().getEmailAddress ().toLowerCase ();
12+ return emailAddress ;
13+ }
14+
15+ static class Employee {
16+ String name ;
17+ PersonalDetails personalDetails ;
18+
19+ public String getName () {
20+ return name ;
21+ }
22+
23+ public void setName (String name ) {
24+ this .name = name ;
25+ }
26+
27+ public PersonalDetails getPersonalDetails () {
28+ return personalDetails ;
29+ }
30+
31+ public void setPersonalDetails (PersonalDetails personalDetails ) {
32+ this .personalDetails = personalDetails ;
33+ }
34+ }
35+
36+ static class PersonalDetails {
37+ String emailAddress ;
38+ String phone ;
39+
40+ public String getEmailAddress () {
41+ return emailAddress ;
42+ }
43+
44+ public void setEmailAddress (String emailAddress ) {
45+ this .emailAddress = emailAddress ;
46+ }
47+
48+ public String getPhone () {
49+ return phone ;
50+ }
51+
52+ public void setPhone (String phone ) {
53+ this .phone = phone ;
54+ }
55+ }
56+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .java14 .helpfulnullpointerexceptions ;
2+
3+ import org .junit .Test ;
4+
5+ import static com .baeldung .java14 .helpfulnullpointerexceptions .HelpfulNullPointerException .Employee ;
6+ import static com .baeldung .java14 .helpfulnullpointerexceptions .HelpfulNullPointerException .PersonalDetails ;
7+ import static org .assertj .core .api .Assertions .assertThat ;
8+
9+ public class HelpfulNullPointerExceptionUnitTest {
10+
11+ @ Test (expected = NullPointerException .class )
12+ public void givenAnEmptyPersonalDetails_whenEmailAddressIsAccessed_thenThrowNPE () {
13+ var helpfulNPE = new HelpfulNullPointerException ();
14+
15+ var employee = new Employee ();
16+ employee .setName ("Eduard" );
17+ employee .setPersonalDetails (new PersonalDetails ());
18+ helpfulNPE .getEmployeeEmailAddress (employee );
19+ }
20+
21+ @ Test
22+ public void givenCompletePersonalDetails_whenEmailAddressIsAccessed_thenSuccess () {
23+ var helpfulNPE = new HelpfulNullPointerException ();
24+ var emailAddress =
"[email protected] " ;
25+
26+ var employee = new Employee ();
27+ employee .setName ("Eduard" );
28+
29+ var personalDetails = new PersonalDetails ();
30+ personalDetails .setEmailAddress (emailAddress .toUpperCase ());
31+ personalDetails .setPhone ("1234" );
32+ employee .setPersonalDetails (personalDetails );
33+
34+ assertThat (helpfulNPE .getEmployeeEmailAddress (employee )).isEqualTo (emailAddress );
35+ }
36+
37+ }
You can’t perform that action at this time.
0 commit comments