@Test public void testNotEqualsOnDiffSourceAndSameTargetValues() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class, Date.class, String.class); BiInstantiatorKey k2 = new BiInstantiatorKey(DbObject.class, InputStream.class, String.class); BiInstantiatorKey k3 = new BiInstantiatorKey(DbObject.class, null, String.class); BiInstantiatorKey k4 = new BiInstantiatorKey(DbObject.class, Date.class, Object.class); assertFalse(k1.equals(k2)); assertFalse(k1.equals(k3)); assertFalse(k3.equals(k1)); assertFalse(k4.equals(k1)); }
@Test public void testNotEqualsOnSameSourceAndTargetAndDiffInjectParamValues() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class.getConstructor(), createInjectedParameters("param"), Date.class, String.class); BiInstantiatorKey k2 = new BiInstantiatorKey(DbObject.class.getConstructor(), createInjectedParameters("param2"), Date.class, String.class); BiInstantiatorKey k3 = new BiInstantiatorKey(DbObject.class.getConstructor(), null, Date.class, String.class); BiInstantiatorKey k4 = new BiInstantiatorKey(DbObject.class.getConstructor(), createInjectedParameters("param", IntGetter.class), Date.class, String.class); assertFalse(k1.equals(k2)); assertFalse(k1.equals(k3)); assertFalse(k3.equals(k1)); assertFalse(k4.equals(k1)); }
@Test public void testNotEqualsOnDiffClass() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class, Date.class, String.class); assertFalse(k1.equals(new Object())); }
@Test public void testNotEqualsDiffConstructor() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class.getConstructor(), createInjectedParameters("param"), Date.class, String.class); BiInstantiatorKey k2 = new BiInstantiatorKey(DbFinalObject.class.getDeclaredConstructors()[0], createInjectedParameters("param"), Date.class, String.class); BiInstantiatorKey k3 = new BiInstantiatorKey(null, createInjectedParameters( "param"), Date.class, String.class); assertFalse(k1.equals(k2)); assertFalse(k1.equals(k3)); assertFalse(k3.equals(k1)); }
@Test public void testEqualsOnSameSourceAndTargetAndInjectParamValues() throws NoSuchMethodException { final InjectedParam[] injectedParameters = createInjectedParameters("param", Getter.class); BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class.getConstructor(), injectedParameters, Date.class, String.class); BiInstantiatorKey k2 = new BiInstantiatorKey(DbObject.class.getConstructor(), injectedParameters, Date.class, String.class); assertTrue(k1.equals(k2)); } private InjectedParam[] createInjectedParameters(String param) {
@Test public void testEqualsOnSameKey() throws NoSuchMethodException { BiInstantiatorKey k = new BiInstantiatorKey(DbObject.class, String.class, Date.class); assertTrue(k.equals(k)); }
@Test public void testNotEqualsOnNull() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class, Date.class, String.class); assertFalse(k1.equals(null)); }
@Test public void testEqualsOnSameSourceAndTargetValues() throws NoSuchMethodException { BiInstantiatorKey k1 = new BiInstantiatorKey(DbObject.class, String.class, Date.class); BiInstantiatorKey k2 = new BiInstantiatorKey(DbObject.class, String.class, Date.class); assertTrue(k1.equals(k2)); }