添加理解 Java 中的 NumberFormatException 异常 的链接
This commit is contained in:
parent
85b63c6f8d
commit
ed4af4389d
|
@ -8,63 +8,101 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
public class PasswordStoreExamplesUnitTest {
|
public class PasswordStoreExamplesUnitTest {
|
||||||
|
|
||||||
String stringPassword = "password";
|
String stringPassword = "password";
|
||||||
char[] charPassword = new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'};
|
char[] charPassword = new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'};
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenStringHashCode_WhenStringValueChanged_ThenHashCodesNotEqualAndValesNotEqual() {
|
public void givenStringHashCode_WhenStringValueChanged_ThenHashCodesNotEqualAndValesNotEqual() {
|
||||||
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
stringPassword = "********";
|
stringPassword = "********";
|
||||||
String changedHashCode = Integer.toHexString(stringPassword.hashCode());
|
String changedHashCode = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
assertThat(originalHashCode).isNotEqualTo(changedHashCode);
|
assertThat(originalHashCode).isNotEqualTo(changedHashCode);
|
||||||
assertThat(stringPassword).isNotEqualTo("password");
|
assertThat(stringPassword).isNotEqualTo("password");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenStringHashCode_WhenStringValueChangedAndStringValueReassigned_ThenHashCodesEqualAndValesEqual() {
|
public void givenStringHashCode_WhenStringValueChangedAndStringValueReassigned_ThenHashCodesEqualAndValesEqual() {
|
||||||
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
stringPassword = "********";
|
stringPassword = "********";
|
||||||
stringPassword = "password";
|
stringPassword = "password";
|
||||||
String reassignedHashCode = Integer.toHexString(stringPassword.hashCode());
|
String reassignedHashCode = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
assertThat(originalHashCode).isEqualTo(reassignedHashCode);
|
assertThat(originalHashCode).isEqualTo(reassignedHashCode);
|
||||||
assertThat(stringPassword).isEqualTo("password");
|
assertThat(stringPassword).isEqualTo("password");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenStringHashCode_WhenStringValueReplaced_ThenHashCodesEqualAndValesEqual() {
|
public void givenStringHashCode_WhenStringValueReplaced_ThenHashCodesEqualAndValesEqual() {
|
||||||
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
String originalHashCode = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
String newString = "********";
|
String newString = "********";
|
||||||
stringPassword.replace(stringPassword, newString);
|
stringPassword.replace(stringPassword, newString);
|
||||||
|
|
||||||
String hashCodeAfterReplace = Integer.toHexString(stringPassword.hashCode());
|
String hashCodeAfterReplace = Integer.toHexString(stringPassword.hashCode());
|
||||||
|
|
||||||
assertThat(originalHashCode).isEqualTo(hashCodeAfterReplace);
|
assertThat(originalHashCode).isEqualTo(hashCodeAfterReplace);
|
||||||
assertThat(stringPassword).isEqualTo("password");
|
assertThat(stringPassword).isEqualTo("password");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenCharArrayHashCode_WhenArrayElementsValueChanged_ThenHashCodesEqualAndValesNotEqual() {
|
public void givenCharArrayHashCode_WhenArrayElementsValueChanged_ThenHashCodesEqualAndValesNotEqual() {
|
||||||
String originalHashCode = Integer.toHexString(charPassword.hashCode());
|
String originalHashCode = Integer.toHexString(charPassword.hashCode());
|
||||||
|
|
||||||
Arrays.fill(charPassword, '*');
|
Arrays.fill(charPassword, '*');
|
||||||
String changedHashCode = Integer.toHexString(charPassword.hashCode());
|
String changedHashCode = Integer.toHexString(charPassword.hashCode());
|
||||||
|
|
||||||
assertThat(originalHashCode).isEqualTo(changedHashCode);
|
assertThat(originalHashCode).isEqualTo(changedHashCode);
|
||||||
assertThat(charPassword).isNotEqualTo(new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'});
|
assertThat(charPassword).isNotEqualTo(new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenCallingToStringOfString_ThenValuesEqual() {
|
public void whenCallingToStringOfString_ThenValuesEqual() {
|
||||||
assertThat(stringPassword.toString()).isEqualTo("password");
|
assertThat(stringPassword.toString()).isEqualTo("password");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenCallingToStringOfCharArray_ThenValuesNotEqual() {
|
public void whenCallingToStringOfCharArray_ThenValuesNotEqual() {
|
||||||
assertThat(charPassword.toString()).isNotEqualTo("password");
|
assertThat(charPassword.toString()).isNotEqualTo("password");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void immutableForString() {
|
||||||
|
String stringPassword = "password";
|
||||||
|
System.out.print("Original String password value: ");
|
||||||
|
System.out.println(stringPassword);
|
||||||
|
System.out.println("Original String password hashCode: " + Integer.toHexString(stringPassword.hashCode()));
|
||||||
|
|
||||||
|
String newString = "********";
|
||||||
|
stringPassword.replace(stringPassword, newString);
|
||||||
|
|
||||||
|
System.out.print("String password value after trying to replace it: ");
|
||||||
|
System.out.println(stringPassword);
|
||||||
|
System.out.println("hashCode after trying to replace the original String: " + Integer.toHexString(stringPassword.hashCode()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void immutableForCharArray() {
|
||||||
|
char[] charPassword = new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'};
|
||||||
|
|
||||||
|
System.out.print("Original char password value: ");
|
||||||
|
System.out.println(charPassword);
|
||||||
|
System.out.println("Original char password hashCode: " + Integer.toHexString(charPassword.hashCode()));
|
||||||
|
|
||||||
|
Arrays.fill(charPassword, '*');
|
||||||
|
|
||||||
|
System.out.print("Changed char password value: ");
|
||||||
|
System.out.println(charPassword);
|
||||||
|
System.out.println("Changed char password hashCode: " + Integer.toHexString(charPassword.hashCode()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void accidentallyPassword_print() {
|
||||||
|
String passwordString = "password";
|
||||||
|
char[] passwordArray = new char[]{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'};
|
||||||
|
System.out.println("Printing String password -> " + passwordString);
|
||||||
|
System.out.println("Printing char[] password -> " + passwordArray.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue