Skip to content

Instantly share code, notes, and snippets.

@arunma
Created November 4, 2012 17:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arunma/4012620 to your computer and use it in GitHub Desktop.
Save arunma/4012620 to your computer and use it in GitHub Desktop.
Arrays.deepEquals vs Arrays.equals
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import java.util.Arrays;
import org.testng.annotations.Test;
public class DeepEquals {
private Object[] equalsOverriddenArrayNonNested1={"101","201"};
private Object[] equalsOverriddenArrayNonNested2={"101","201"};
private YourClass[] equalsNotOverriddenArrayNonNested1={new YourClass(), new YourClass()};
private YourClass[] equalsNotOverriddenArrayNonNested2={new YourClass(), new YourClass()};
private Object[] equalsNotOverriddenArrayNested1={new YourClass(), new YourClass[]{new YourClass()}};
private Object[] equalsNotOverriddenArrayNested2={new YourClass(), new YourClass()};
private Object[] equalsOverriddenArrayNested1={new String("hello"), new String[]{new String("hello")}};
private Object[] equalsOverriddenArrayNested2={new String("hello"), new String[]{new String("hello")}};
@Test
public void stringArrayTest(){
assertFalse (equalsOverriddenArrayNonNested1==equalsOverriddenArrayNonNested2);
assertFalse(equalsOverriddenArrayNonNested1.equals(equalsOverriddenArrayNonNested2));
assertTrue(Arrays.equals(equalsOverriddenArrayNonNested1, equalsOverriddenArrayNonNested2));
assertTrue(Arrays.deepEquals(equalsOverriddenArrayNonNested1, equalsOverriddenArrayNonNested2));
}
@Test
public void objectArrayTestNonNested(){
assertFalse (equalsNotOverriddenArrayNonNested1==equalsNotOverriddenArrayNonNested2);
assertFalse(equalsNotOverriddenArrayNonNested1.equals(equalsNotOverriddenArrayNonNested2));
assertFalse(Arrays.equals(equalsNotOverriddenArrayNonNested1, equalsNotOverriddenArrayNonNested2));
assertFalse(Arrays.deepEquals(equalsNotOverriddenArrayNonNested1, equalsNotOverriddenArrayNonNested2));
}
@Test
public void objectArrayTestNested(){
assertFalse (equalsNotOverriddenArrayNested1==equalsNotOverriddenArrayNested2);
assertFalse(equalsNotOverriddenArrayNested1.equals(equalsNotOverriddenArrayNested2));
assertFalse(Arrays.equals(equalsNotOverriddenArrayNested1, equalsNotOverriddenArrayNested2));
assertFalse(Arrays.deepEquals(equalsNotOverriddenArrayNested1, equalsNotOverriddenArrayNested2));
}
@Test
public void objectArrayTest2(){
assertFalse (equalsOverriddenArrayNested1==equalsOverriddenArrayNested2);
assertFalse(equalsOverriddenArrayNested1.equals(equalsOverriddenArrayNested2));
assertFalse(Arrays.equals(equalsOverriddenArrayNested1, equalsOverriddenArrayNested2));
assertTrue(Arrays.deepEquals(equalsOverriddenArrayNested1, equalsOverriddenArrayNested2));
}
}
@arunma
Copy link
Author

arunma commented Nov 4, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment