/* * Copyright (c) 2006-2011 Rogério Liesenfeld * This file is subject to the terms of the MIT license (see LICENSE.txt). */ package mockit; import org.junit.*; @SuppressWarnings({"ObjectEqualsNull", "EqualsBetweenInconvertibleTypes", "LiteralAsArgToStringEquals"}) public final class ObjectOverridesAndInjectableMocksTest { @Injectable ClassWithObjectOverrides a; @Injectable ClassWithObjectOverrides b; @Test public void verifyStandardBehaviorOfOverriddenEqualsMethodsInMockedClass() { assertDefaultEqualsBehavior(a, b); assertDefaultEqualsBehavior(b, a); } private void assertDefaultEqualsBehavior(Object a, Object b) { assert !a.equals(null); assert !a.equals("test"); assert a.equals(a); assert !a.equals(b); } @Test public void allowAnyInvocationsOnOverriddenObjectMethodsForStrictMocks() { new Expectations() {{ a.getIntValue(); result = 58; }}; assert !a.equals(b); assert a.equals(a); assert a.getIntValue() == 58; assert !b.equals(a); assert !a.equals(b); } }