From 9e0a419c6ed55ae057d7a5663df93ec150b4c240 Mon Sep 17 00:00:00 2001 From: Tom Howlett Date: Sun, 9 Oct 2022 13:19:25 +0100 Subject: [PATCH 1/2] Supported Pirate and did some cleaning --- src/main/java/demo/NullPointerDereference.java | 7 ++++--- src/test/java/demo/NullPointerDereferenceTest.java | 7 ++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/demo/NullPointerDereference.java b/src/main/java/demo/NullPointerDereference.java index 4045a0c..10351ad 100644 --- a/src/main/java/demo/NullPointerDereference.java +++ b/src/main/java/demo/NullPointerDereference.java @@ -8,15 +8,16 @@ public int getNumberOfLegsPlusOne(String animal) { int legs; if ("dog".equals(trimmedAnimal)) { legs = 4; - } else if (trimmedAnimal.equals("kangaroo")) { // NullPointer issue raised + } else if ("kangaroo".equals(trimmedAnimal)) { legs = 2; } else if ("Centipede".equals(trimmedAnimal)) { legs = 100; + } else if("pirate".equals(trimmedAnimal)) { + legs = 1; } else { throw new RuntimeException(String.format("Unknown Animal %s", trimmedAnimal)); } - // Quizz: What is the problem here? - return legs++; + return ++legs; } diff --git a/src/test/java/demo/NullPointerDereferenceTest.java b/src/test/java/demo/NullPointerDereferenceTest.java index 876cc7d..cb345b8 100644 --- a/src/test/java/demo/NullPointerDereferenceTest.java +++ b/src/test/java/demo/NullPointerDereferenceTest.java @@ -10,7 +10,12 @@ public class NullPointerDereferenceTest { @Test public void shouldGetDogPaws() { - assertEquals(underTest.getNumberOfLegsPlusOne("dog"), 4); + assertEquals(4, underTest.getNumberOfLegsPlusOne("dog")); + } + + @Test + public void shouldGetPirateLegs() { + assertEquals(1, underTest.getNumberOfLegsPlusOne("pirate")); } @Test(expected = NullPointerException.class) From 8ac2eebf07db96cbad068baeee9cd8f851557e21 Mon Sep 17 00:00:00 2001 From: Tom Howlett Date: Sun, 9 Oct 2022 13:36:03 +0100 Subject: [PATCH 2/2] Fixed Tests --- src/test/java/demo/NullPointerDereferenceTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/demo/NullPointerDereferenceTest.java b/src/test/java/demo/NullPointerDereferenceTest.java index cb345b8..47541e8 100644 --- a/src/test/java/demo/NullPointerDereferenceTest.java +++ b/src/test/java/demo/NullPointerDereferenceTest.java @@ -10,15 +10,15 @@ public class NullPointerDereferenceTest { @Test public void shouldGetDogPaws() { - assertEquals(4, underTest.getNumberOfLegsPlusOne("dog")); + assertEquals(5, underTest.getNumberOfLegsPlusOne("dog")); } @Test public void shouldGetPirateLegs() { - assertEquals(1, underTest.getNumberOfLegsPlusOne("pirate")); + assertEquals(2, underTest.getNumberOfLegsPlusOne("pirate")); } - @Test(expected = NullPointerException.class) + @Test(expected = RuntimeException.class) public void ignoredTestThatWouldCoverBug() { underTest.getNumberOfLegsPlusOne(""); }