EqualUtil { public static boolean isEqual(@Nullable Object a, @Nullable Object b) { return (a == b || (a != null && a.equals(b))); }  static boolean isEqual(@Nullable Object a, @Nullable Object b); static boolean isArrayEqual(@Nullable Object[] a, @Nullable Object[] b);  }
@Test void testEqualsNull2() { assertThat("2 null objects", EqualUtil.isEqual(null, null), is(true)); }
@Test void testEqualsNullLeft() { assertThat("1 null object - left", EqualUtil.isEqual(null, new Object()), is(false)); }
@Test void testEqualsNullRight() { assertThat("1 null object - left", EqualUtil.isEqual(new Object(), null), is(false)); }
@Test void testEqualsNonNullNot() { assertThat("not equal", EqualUtil.isEqual(new Object(), new Object()), is(false)); }
@Test void testEquals() { Object a = new Object(); assertThat("not equal", EqualUtil.isEqual(a, a), is(true)); }