From 09e5ac39cf14c23725c28a70ec7ee0b39144ed73 Mon Sep 17 00:00:00 2001 From: Jonathan Cook Date: Mon, 2 Mar 2020 22:35:53 +0100 Subject: [PATCH] BAEL-3854 - Pattern Matching for instanceof in Java 14 - add unit test --- .../PatternMatchingForInstanceOf.java | 10 +++--- .../PatternMatchingForInstanceOfUnitTest.java | 33 +++++++++++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 core-java-modules/core-java-14/src/test/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOfUnitTest.java diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOf.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOf.java index ccade84bea..11026f45f9 100644 --- a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOf.java +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOf.java @@ -10,16 +10,16 @@ public class PatternMatchingForInstanceOf { } } - private abstract class Animal { + abstract class Animal { } - private final class Cat extends Animal { - private void meow() { + final class Cat extends Animal { + void meow() { } } - private final class Dog extends Animal { - private void woof() { + final class Dog extends Animal { + void woof() { } } diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOfUnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOfUnitTest.java new file mode 100644 index 0000000000..0270e34dec --- /dev/null +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/patternmatchingforinstanceof/PatternMatchingForInstanceOfUnitTest.java @@ -0,0 +1,33 @@ +package com.baeldung.java14.patternmatchingforinstanceof; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; + +import org.junit.jupiter.api.Test; + +import com.baeldung.java14.patternmatchingforinstanceof.PatternMatchingForInstanceOf.Cat; +import com.baeldung.java14.patternmatchingforinstanceof.PatternMatchingForInstanceOf.Dog; + +class PatternMatchingForInstanceOfUnitTest { + + @Test + void givenAnAnimal_whenTypeIsCat_ThenCatGoesMeow() { + Cat animal = mock(Cat.class); + + PatternMatchingForInstanceOf instanceOf = new PatternMatchingForInstanceOf(); + instanceOf.performAnimalOperations(animal); + + verify(animal).meow(); + } + + @Test + void givenAnAnimal_whenTypeIsDog_ThenDogGoesWoof() { + Dog animal = mock(Dog.class); + + PatternMatchingForInstanceOf instanceOf = new PatternMatchingForInstanceOf(); + instanceOf.performAnimalOperations(animal); + + verify(animal).woof(); + } + +}