diff --git a/core-java-modules/core-java-scanner-2/src/main/java/com/baeldung/closingscanner/ScannerClose.java b/core-java-modules/core-java-scanner-2/src/main/java/com/baeldung/closingscanner/ScannerClose.java new file mode 100644 index 000000000000..018a12bac850 --- /dev/null +++ b/core-java-modules/core-java-scanner-2/src/main/java/com/baeldung/closingscanner/ScannerClose.java @@ -0,0 +1,22 @@ +package com.baeldung.closingscanner; + +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-2/src/main/java/com/baeldung/closingscanner/ScannerTryWithResources.java b/core-java-modules/core-java-scanner-2/src/main/java/com/baeldung/closingscanner/ScannerTryWithResources.java new file mode 100644 index 000000000000..de067755a009 --- /dev/null +++ b/core-java-modules/core-java-scanner-2/src/main/java/com/baeldung/closingscanner/ScannerTryWithResources.java @@ -0,0 +1,20 @@ +package com.baeldung.closingscanner; + +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-2/src/pom.xml b/core-java-modules/core-java-scanner-2/src/pom.xml new file mode 100644 index 000000000000..42c601c9eb76 --- /dev/null +++ b/core-java-modules/core-java-scanner-2/src/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + core-java-scanner-2 + jar + core-java-scanner-2 + + + com.baeldung.core-java-modules + core-java-modules + 0.0.1-SNAPSHOT + + + + + javax.mail + mail + ${javax.mail.version} + + + org.junit.jupiter + junit-jupiter-api + 5.8.2 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.8.2 + test + + + + + 1.5.0-b01 + 17 + 17 + 5.9.0 + 2.0.0 + + + diff --git a/core-java-modules/core-java-scanner-2/src/test/java/com/baeldung/closingscanner/ScannerCloseUnitTest.java b/core-java-modules/core-java-scanner-2/src/test/java/com/baeldung/closingscanner/ScannerCloseUnitTest.java new file mode 100644 index 000000000000..679f6c4149ca --- /dev/null +++ b/core-java-modules/core-java-scanner-2/src/test/java/com/baeldung/closingscanner/ScannerCloseUnitTest.java @@ -0,0 +1,22 @@ +package com.baeldung.closingscanner; + +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-2/src/test/java/com/baeldung/closingscanner/ScannerTryWithResourcesUnitTest.java b/core-java-modules/core-java-scanner-2/src/test/java/com/baeldung/closingscanner/ScannerTryWithResourcesUnitTest.java new file mode 100644 index 000000000000..51e3629d95e7 --- /dev/null +++ b/core-java-modules/core-java-scanner-2/src/test/java/com/baeldung/closingscanner/ScannerTryWithResourcesUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.closingscanner; + +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); + } +}