@Test
public void testEquals() {
MethodExpression delegate = new MockMethodExpression("doSomething");
MethodExpression wrapper1 = new WeldMethodExpression(delegate);
MethodExpression wrapper2 = new WeldMethodExpression(delegate);
assertTrue("should be equal", wrapper1.equals(wrapper2));
assertTrue("should be equal", wrapper2.equals(wrapper1));
// since there is no way of making delegate.equals(wrapper) return true, we must preserve the symmetry by
// making wrapper.equals(delegate) also return false.
assertFalse("should not be equal", delegate.equals(wrapper1));
assertFalse("should not be equal", wrapper1.equals(delegate));