From 05988f788b0cf4aa7f34ca689c594e8d5cc95e95 Mon Sep 17 00:00:00 2001 From: fdai6352 Date: Wed, 16 Feb 2022 17:59:39 +0100 Subject: [PATCH] implemented set special char menu item and test refactor --- src/main/java/Vault.java | 14 ++++++++------ src/test/java/VaultTest.java | 18 +++++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/Vault.java b/src/main/java/Vault.java index 53cb362..396e861 100644 --- a/src/main/java/Vault.java +++ b/src/main/java/Vault.java @@ -31,6 +31,8 @@ public class Vault implements VaultInterface { sbcm.append("Configure:\n"); sbcm.append("- Password length: l\n"); sbcm.append("- Have Capitals: h\n"); + sbcm.append("- Have Special Characters: s\n"); + sbcm.append("- Have Numbers: n\n"); sbcm.append("- exit: e\n"); println(sbcm.toString()); @@ -46,7 +48,11 @@ public class Vault implements VaultInterface { } else if (input.equals("h")) { println("Should your PW have capitals? Type in yes or no."); String inputC = scan.nextLine(); - setPWLength(inputC); + setCapital(inputC); + } else if (input.equals("s")){ + println("Should you PW have special characters? Type in yes or no."); + String inputS = scan.nextLine(); + setSpecialChar(inputS); } } @@ -96,11 +102,7 @@ public class Vault implements VaultInterface { } - public void setSpecialChar() { - println("Should you PW have special characters? Type in yes or no."); - - Scanner scan = new Scanner(inputS); - String input = scan.nextLine(); + public void setSpecialChar(String input) { if(input.equals("yes")){ hasSpecialChars = true; diff --git a/src/test/java/VaultTest.java b/src/test/java/VaultTest.java index d2a7dac..17d5a3d 100644 --- a/src/test/java/VaultTest.java +++ b/src/test/java/VaultTest.java @@ -124,22 +124,26 @@ public class VaultTest { assertTrue(outputStream.toString().contains("don´t")); } + @Test + void openSetSpecialCharsMenuItem() { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + vlt.inputS = new ByteArrayInputStream("h\nyes".getBytes(StandardCharsets.UTF_8)); + vlt.outputS = outputStream; + vlt.configure(); + assertTrue(vlt.hasSpecialChars = true); + } + @Test void setSpecialCharTest() { - vlt.inputS = new ByteArrayInputStream("yes\n".getBytes(StandardCharsets.UTF_8)); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); vlt.outputS = outputStream; - vlt.setSpecialChar(); + vlt.setSpecialChar("yes"); - assertTrue(outputStream.toString().startsWith("Should")); assertTrue(vlt.hasSpecialChars = true); - assertTrue(outputStream.toString().contains("contain")); - vlt.inputS = new ByteArrayInputStream("no\n".getBytes(StandardCharsets.UTF_8)); vlt.outputS = outputStream; - vlt.setSpecialChar(); + vlt.setSpecialChar("no"); - assertTrue(outputStream.toString().startsWith("Should")); assertFalse(vlt.hasSpecialChars = false); assertTrue(outputStream.toString().contains("don´t")); }