### Question:
Arg { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Arg arg = (Arg) o; return costFactor == arg.costFactor && Arrays.equals(password, arg.password) && Objects.equals(checkBcryptHash, arg.checkBcryptHash) && Arrays.equals(salt, arg.salt); } Arg();   Arg(char[] password, String checkBcryptHash);   Arg(char[] password, byte[] salt, int costFactor);   Arg(char[] password, String checkBcryptHash, byte[] salt, int costFactor); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); public char[] password; public String checkBcryptHash; public byte[] salt; public int costFactor; }### Answer:
@Test public void equals() { assertEquals(argCheck, new Arg("asdsad".toCharArray(), "$2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i")); assertEquals(argHash, new Arg("asdsad".toCharArray(), salt, 12)); }