diff --git a/core-java-modules/core-java-io-7/pom.xml b/core-java-modules/core-java-io-7/pom.xml index dc4077d224ca..7f8e77cd3102 100644 --- a/core-java-modules/core-java-io-7/pom.xml +++ b/core-java-modules/core-java-io-7/pom.xml @@ -14,6 +14,11 @@ 0.0.1-SNAPSHOT + + 17 + 17 + + commons-io @@ -30,6 +35,18 @@ asciitable ${asciitable.version} + + org.junit.jupiter + junit-jupiter-api + 5.8.2 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.8.2 + test + diff --git a/core-java-modules/core-java-io-7/src/main/java/com/baeldung/scanner/ScannerClose.java b/core-java-modules/core-java-io-7/src/main/java/com/baeldung/scanner/ScannerClose.java new file mode 100644 index 000000000000..5e4d2d901f0e --- /dev/null +++ b/core-java-modules/core-java-io-7/src/main/java/com/baeldung/scanner/ScannerClose.java @@ -0,0 +1,22 @@ +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-io-7/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java b/core-java-modules/core-java-io-7/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java new file mode 100644 index 000000000000..c5419df22b8a --- /dev/null +++ b/core-java-modules/core-java-io-7/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java @@ -0,0 +1,20 @@ +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-io-7/src/test/scanner/ScannerCloseUnitTest.java b/core-java-modules/core-java-io-7/src/test/scanner/ScannerCloseUnitTest.java new file mode 100644 index 000000000000..282a46214d60 --- /dev/null +++ b/core-java-modules/core-java-io-7/src/test/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-io-7/src/test/scanner/ScannerTryWithResourcesUnitTest.java b/core-java-modules/core-java-io-7/src/test/scanner/ScannerTryWithResourcesUnitTest.java new file mode 100644 index 000000000000..6b999afdaa16 --- /dev/null +++ b/core-java-modules/core-java-io-7/src/test/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); + } +}