diff --git a/core-java-modules/core-java-scanner/pom.xml b/core-java-modules/core-java-scanner/pom.xml index 9fb9d4ee05a2..ad309f091ea5 100644 --- a/core-java-modules/core-java-scanner/pom.xml +++ b/core-java-modules/core-java-scanner/pom.xml @@ -30,5 +30,17 @@ ${lombok.version} provided + + org.junit.jupiter + junit-jupiter-api + 5.8.2 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.8.2 + test + - \ No newline at end of file + diff --git a/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java new file mode 100644 index 000000000000..ca09632bf569 --- /dev/null +++ b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java @@ -0,0 +1,21 @@ +package com.baeldung.scanner; +import java.util.Scanner; + +public class ScannerClose { + public String getGreetingMessage(Scanner scanner) { + System.out.print("Enter your name: "); + String name = scanner.nextLine(); + return "Hi, " + name + " Welcome to Baeldung"; + } + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + try { + ScannerClose example = new ScannerClose(); + String message = example.getGreetingMessage(scanner); + System.out.println(message); + } finally { + scanner.close(); + } + } +} diff --git a/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java new file mode 100644 index 000000000000..ea3a32546331 --- /dev/null +++ b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java @@ -0,0 +1,19 @@ +package com.baeldung.scanner; +import java.util.Scanner; + +public class ScannerTryWithResources { + + public String getGreetingMessage(Scanner scanner) { + System.out.print("Enter your name: "); + String name = scanner.nextLine(); + return "Hi, " + name + " Welcome to Baeldung"; + } + + public static void main(String[] args) { + try (Scanner scanner = new Scanner(System.in)) { + ScannerTryWithResources example = new ScannerTryWithResources(); + String message = example.getGreetingMessage(scanner); + System.out.println(message); + } + } +} diff --git a/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java new file mode 100644 index 000000000000..282a46214d60 --- /dev/null +++ b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java @@ -0,0 +1,22 @@ +package com.baeldung.scanner; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import java.io.ByteArrayInputStream; +import java.util.Scanner; + +public class ScannerCloseUnitTest { + @Test + void givenUserName_whenGetGreetingMessage_thenReturnsWelcomeMessage() { + String input = "Anees\n"; + ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes()); + Scanner scanner = new Scanner(inputStream); + + ScannerClose example = new ScannerClose(); + String result = example.getGreetingMessage(scanner); + + assertEquals("Hi, Anees Welcome to Baeldung", result); + + scanner.close(); + } +} diff --git a/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java new file mode 100644 index 000000000000..6b999afdaa16 --- /dev/null +++ b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.scanner; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import java.io.ByteArrayInputStream; +import java.util.Scanner; + +class ScannerTryWithResourcesUnitTest { + + @Test + void givenUserName_whenGetGreetingMessage_thenReturnsWelcomeMessage() { + String input = "Anees\n"; + ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes()); + + String result; + try (Scanner scanner = new Scanner(inputStream)) { + ScannerTryWithResources example = new ScannerTryWithResources(); + result = example.getGreetingMessage(scanner); + } + + assertEquals("Hi, Anees Welcome to Baeldung", result); + } +}