@Test
public void testEqualsObject() {

    MapEntryArrayValues<String, String> entry = new MapEntryArrayValues<String, String>(
            "key", new String[] { "value1", "value2" }, false);
    assertFalse(entry.equals(null));
    assertFalse(entry.equals("whatever"));
    MapEntryArrayValues<String, String> entry2 = new MapEntryArrayValues<String, String>(
            "key", new String[] { "value1", "value2" }, false);
    assertTrue(entry.equals(entry2));
    entry2 = new MapEntryArrayValues<String, String>(
            "key", null, false);
    assertFalse(entry.equals(entry2));
    entry2 = new MapEntryArrayValues<String, String>("key2", new String[] {
            "value1", "value2" }, false);
    assertFalse(entry.equals(entry2));
    entry2 = new MapEntryArrayValues<String, String>("key", new String[] {
            "value1", "value3" }, false);
    assertFalse(entry.equals(entry2));
    entry = new MapEntryArrayValues<String, String>(null, new String[] {
            "value1", "value2" }, false);
    entry2 = new MapEntryArrayValues<String, String>(null, new String[] {
            "value1", "value2" }, false);
    assertTrue(entry.equals(entry2));
    entry = new MapEntryArrayValues<String, String>("key", null, false);
    entry2 = new MapEntryArrayValues<String, String>("key", null, false);
    assertTrue(entry.equals(entry2));
    entry2 = new MapEntryArrayValues<String, String>("key", new String[] {
            "value1", "value2" }, false);
    assertFalse(entry.equals(entry2));
    entry = new MapEntryArrayValues<String, String>(null, new String[] {
            null, "value2" }, false);
    entry2 = new MapEntryArrayValues<String, String>(null, new String[] {
            null, "value2" }, false);
    assertTrue(entry.equals(entry2));
    entry2 = new MapEntryArrayValues<String, String>(null, new String[] {
            "value1", "value2" }, false);
    assertFalse(entry.equals(entry2));
}