import org.easymock.EasyMock
mockControl = EasyMock.createStrictControl()
mockReverser = mockControl.createMock(Reverser.class)
storer = new JavaStorer(mockReverser)
testStorage()
def testStorage() {
expectReverse(123.456, -123.456)
expectReverse('hello', 'olleh')
mockControl.replay()
checkReverse(123.456, -123.456)
checkReverse('hello', 'olleh')
mockControl.verify()
}
def expectReverse(input, output) {
EasyMock.expect(mockReverser.reverse(input)).andReturn(output)
}
def checkReverse(value, reverseValue) {
storer.put(value)
assert value == storer.get()
assert reverseValue == storer.getReverse()
}