@Test public void recordExpectationsOnNonStrictFinalLocalMockField() { YetAnotherCollaborator collaborator = new YetAnotherCollaborator(); new Expectations() { @NonStrict final YetAnotherCollaborator mock3 = new YetAnotherCollaborator(); { mock3.doSomething(); times = 1; } }; collaborator.doSomething(); assertEquals(0, collaborator.getValue()); }
@Test public void recordExpectationsOnStaticMethodAndConstructorOfFinalLocalMockField() { new Expectations() { @NonStrict final YetAnotherCollaborator unused = null; { new YetAnotherCollaborator(true); result = new RuntimeException(); YetAnotherCollaborator.doSomethingStatic(); result = 123; } }; try { new YetAnotherCollaborator(true); fail(); } catch (RuntimeException ignore) { } assertEquals(123, YetAnotherCollaborator.doSomethingStatic()); }