diff --git a/src/main/java/demo/NullPointerDereference.java b/src/main/java/demo/NullPointerDereference.java index c1a5f6a..1f50958 100644 --- a/src/main/java/demo/NullPointerDereference.java +++ b/src/main/java/demo/NullPointerDereference.java @@ -6,16 +6,17 @@ public int getNumberOfLegs(String animal) { String trimmedAnimal = trim(animal); int legs; - int arms; if ("dog".equals(trimmedAnimal)) { legs = 4; - } else if (trimmedAnimal.equals("kangaroo")) { // NullPointer issue raised + } else if ("kangaroo".equals(trimmedAnimal)) { // NullPointer issue raised legs = 2; } else if ("Centipede".equals(trimmedAnimal)) { legs = 100; + } else if ("Fido".equals(trimmedAnimal)){ + legs = 3; } else { - throw new RuntimeException(String.format("Unknown Animal %s", trimmedAnimal)); + throw new IllegalArgumentException(String.format("Unknown Animal %s", trimmedAnimal)); } return legs; diff --git a/src/test/java/demo/NullPointerDereferenceTest.java b/src/test/java/demo/NullPointerDereferenceTest.java index 2633718..bd742da 100644 --- a/src/test/java/demo/NullPointerDereferenceTest.java +++ b/src/test/java/demo/NullPointerDereferenceTest.java @@ -10,10 +10,15 @@ public class NullPointerDereferenceTest { @Test public void shouldGetDogPaws() { - assertEquals(underTest.getNumberOfLegs("dog"), 4); + assertEquals(4, underTest.getNumberOfLegs("dog")); } - @Test(expected = NullPointerException.class) + @Test + public void shouldGetFidoPaws() { + assertEquals(3, underTest.getNumberOfLegs("Fido")); + } + + @Test(expected = IllegalArgumentException.class) public void ignoredTestThatWouldCoverBug() { underTest.getNumberOfLegs(""); }