|
EasyMock example source code file (CallbackAndArgumentsTest.java)
The EasyMock CallbackAndArgumentsTest.java source code/* * Copyright (c) 2001-2007 OFFIS, Tammo Freese. * This program is made available under the terms of the MIT License. */ package org.easymock.tests2; import static org.easymock.EasyMock.*; import static org.junit.Assert.*; import org.easymock.IAnswer; import org.easymock.tests.IMethods; import org.junit.Before; import org.junit.Test; public class CallbackAndArgumentsTest { private IMethods mock; @Before public void setUp() { mock = createStrictMock(IMethods.class); } @Test public void callbackGetsArguments() { final StringBuffer buffer = new StringBuffer(); mock.simpleMethodWithArgument((String) notNull()); expectLastCall().andAnswer(new IAnswer<Object>() { public Object answer() { buffer.append((String) getCurrentArguments()[0]); return null; } }).times(2); replay(mock); mock.simpleMethodWithArgument("1"); mock.simpleMethodWithArgument("2"); verify(mock); assertEquals("12", buffer.toString()); } @Test(expected = IllegalStateException.class) public void currentArgumentsFailsOutsideCallbacks() { getCurrentArguments(); } @Test public void callbackGetsArgumentsEvenIfAMockCallsAnother() { final StringBuffer buffer = new StringBuffer(); final IMethods mock2 = createStrictMock(IMethods.class); mock2.simpleMethod(); expectLastCall().andAnswer(new IAnswer<Object>() { public Object answer() { // empty, only needed to force deletion of arguments return null; } }).times(2); mock.simpleMethodWithArgument((String) notNull()); expectLastCall().andAnswer(new IAnswer<Object>() { public Object answer() { mock2.simpleMethod(); buffer.append((String) getCurrentArguments()[0]); return null; } }).times(2); replay(mock); replay(mock2); mock.simpleMethodWithArgument("1"); mock.simpleMethodWithArgument("2"); verify(mock); verify(mock2); assertEquals("12", buffer.toString()); } } Other EasyMock examples (source code examples)Here is a short list of links related to this EasyMock CallbackAndArgumentsTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.