8 Commits

  1. 56
      src/main/java/Vault.java
  2. 81
      src/test/java/VaultTest.java

56
src/main/java/Vault.java

@ -11,6 +11,7 @@ public class Vault implements VaultInterface {
public boolean haveCapitals;
public boolean hasSpecialChars;
public boolean hasNumbers;
public String userName;
InputStream inputS = System.in;
OutputStream outputS = System.out;
@ -30,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());
@ -38,29 +41,44 @@ public class Vault implements VaultInterface {
if (input.equals("e")) {
config = false;
} else if (input.equals("l")) {
println("Set PW length:");
String inputPw = scan.nextLine();
setPWLength(inputPw);
} else if (input.equals("h")) {
println("Should your PW have capitals? Type in yes or no.");
String inputC = scan.nextLine();
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);
} else if (input.equals("n")) {
println("Should you PW have numbers? Type in yes or no.");
String inputN = scan.nextLine();
setNumbers(input);
}
}
public void setPWLength(){
println("Set PW length:");
Scanner scan = new Scanner(inputS);
String input = scan.nextLine();
public void setPWLength(String pwLength){
try {
PWLength = Integer.parseInt(input);
PWLength = Integer.parseInt(pwLength);
} catch (NumberFormatException e) {
println("Please Enter Valid Number.");
}
println("\nNew PWlength is now: ");
}
public void addCredential(){
println("Add user name");
Scanner scan = new Scanner(inputS);
String input = scan.nextLine();
userName = input;
}
@ -76,11 +94,7 @@ public class Vault implements VaultInterface {
}
public void setCapital() {
println("Should you PW have capitals? Type in yes or no.");
Scanner scan = new Scanner(inputS);
String input = scan.nextLine();
public void setCapital(String input) {
if(input.equals("yes")){
haveCapitals = true;
@ -92,11 +106,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;
@ -107,11 +117,7 @@ public class Vault implements VaultInterface {
}
}
public void SetNumbers() {
println("Should you PW have numbers? Type in yes or no.");
Scanner scan = new Scanner(inputS);
String input = scan.nextLine();
public void setNumbers(String input) {
if(input.equals("yes")){
hasNumbers = true;

81
src/test/java/VaultTest.java

@ -28,7 +28,17 @@ public class VaultTest {
}
@Test
void addCredential() {vlt.addCredential();}
void addCredentialTest() {
String expected = "user";
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.inputS = new ByteArrayInputStream(expected.getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
vlt.addCredential();
assertTrue(outputStream.toString().startsWith("Add"));
assertEquals(expected, vlt.userName);
}
@Test
void showCredential() {vlt.showCredential();}
@ -70,94 +80,95 @@ public class VaultTest {
}
@Test
void openSetPWLength() {
void openSetPWLengthMenuItem() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.inputS = new ByteArrayInputStream("12".getBytes(StandardCharsets.UTF_8));
vlt.inputS = new ByteArrayInputStream("l\n7".getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
vlt.setPWLength();
assertTrue(outputStream.toString().startsWith("Set"));
vlt.configure();
assertEquals(7, vlt.PWLength);
assertTrue(outputStream.toString().contains("Set"));
}
@Test
void setPWLength() {
vlt.inputS = new ByteArrayInputStream("7\n".getBytes(StandardCharsets.UTF_8));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.outputS = outputStream;
vlt.setPWLength();
vlt.setPWLength("7");
assertEquals(7, vlt.PWLength);
assertTrue(outputStream.toString().contains("now:"));
}
@Test
void setPWLengthWrongInput() {
vlt.inputS = new ByteArrayInputStream("T\n".getBytes(StandardCharsets.UTF_8));
vlt.setPWLength();
void openSetCapitalsMenuItem() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.inputS = getEmptyStringInputStream();
vlt.inputS = new ByteArrayInputStream("h\nyes".getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
assertThrowsExactly(NoSuchElementException.class, () -> vlt.setPWLength());
assertTrue(outputStream.toString().startsWith("Set"));
vlt.configure();
assertTrue(vlt.haveCapitals = true);
}
@Test
void setCapital() {
vlt.inputS = new ByteArrayInputStream("yes\n".getBytes(StandardCharsets.UTF_8));
void setCapitals() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.outputS = outputStream;
vlt.setCapital();
vlt.setCapital("yes");
assertTrue(outputStream.toString().startsWith("Should"));
assertTrue(vlt.haveCapitals = true);
assertTrue(outputStream.toString().contains("contain"));
vlt.inputS = new ByteArrayInputStream("no\n".getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
vlt.setCapital();
vlt.setCapital("no");
assertTrue(outputStream.toString().startsWith("Should"));
assertFalse(vlt.haveCapitals = false);
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"));
}
@Test
void openSetNumbersMenuItem() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.inputS = new ByteArrayInputStream("h\nyes".getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
vlt.configure();
assertTrue(vlt.hasNumbers = true);
}
@Test
void setNumbersTest() {
vlt.inputS = new ByteArrayInputStream("yes\n".getBytes(StandardCharsets.UTF_8));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
vlt.outputS = outputStream;
vlt.SetNumbers();
vlt.setNumbers("yes");
assertTrue(outputStream.toString().startsWith("Should"));
assertTrue(vlt.hasNumbers = true);
assertTrue(outputStream.toString().contains("contain"));
vlt.inputS = new ByteArrayInputStream("no\n".getBytes(StandardCharsets.UTF_8));
vlt.outputS = outputStream;
vlt.SetNumbers();
vlt.setNumbers("no");
assertTrue(outputStream.toString().startsWith("Should"));
assertFalse(vlt.hasNumbers = false);
assertTrue(outputStream.toString().contains("don´t"));
}

Loading…
Cancel
Save