com.mockobjects.io

Class MockWriter

public class MockWriter extends Writer implements Verifiable

A mock java.io.Writer Writer.

Example usage

You may use the MockWriter like this:

 public void testSomething() throws IOException {
     MockWriter out = new MockWriter();
     out.setExpectedSegment("some string");
     out.setExpectedFlushCalls(1);
     out.setExpectedCloseCalls(1);

     ObjectUnderTest testee = new ObjectUnderTest(out);
     out.verify();

     // If we get here, the mock's flush() and close() methods were
     // called exactly once each (order cannot be determined) and
     // the write() method was called with the string "some string" in it.
 }

Author: Francois Beausoleil, fbos@users.sourceforge.net

Constructor Summary
MockWriter()
Instantiates a new mock writer which will act as a data sink.
Method Summary
voidclose()
Increments the close counter and asserts that this method was not called too many times.
voidflush()
This method will also throw an java.io.IOException IOException if asked to do so by calling setFlushShouldThrowException().
voidsetCloseShouldThrowException()
Sets the mock's behavior when closing.
voidsetExpectedCloseCalls(int calls)
Sets the expected number of times that the close() method will be called.
voidsetExpectedFlushCalls(int calls)
Sets the expected number of times that the flush() method will be called.
voidsetExpectedSegment(String aString)
Sets the value of the expected string segment.
voidsetFlushShouldThrowException()
Sets the mock's behavior when flushing.
voidsetWriteShouldThrowException()
Sets the mock's behavior when writing.
voidverify()
voidwrite(char[] cbuf, int off, int len)
Either throws an exception or asserts a string segment for equality.

Constructor Detail

MockWriter

public MockWriter()
Instantiates a new mock writer which will act as a data sink. Once instantiated, mocks of this class do not expect anything special. Once the object is instantiated, you should set your expectations using the provided methods.

Method Detail

close

public void close()
Increments the close counter and asserts that this method was not called too many times. This method will also throw an java.io.IOException IOException if asked to do so by calling setCloseShouldThrowException(). Please note that the call count will be incremented before the check for the exception is done.

See Also: MockWriter setCloseShouldThrowException

flush

public void flush()
This method will also throw an java.io.IOException IOException if asked to do so by calling setFlushShouldThrowException(). Please note that the call count will be incremented before the check for the exception is done.

See Also: MockWriter setFlushShouldThrowException

setCloseShouldThrowException

public void setCloseShouldThrowException()
Sets the mock's behavior when closing. If this method has been called, then close() will throw an java.io.IOException IOException.

setExpectedCloseCalls

public void setExpectedCloseCalls(int calls)
Sets the expected number of times that the close() method will be called.

See Also: close

setExpectedFlushCalls

public void setExpectedFlushCalls(int calls)
Sets the expected number of times that the flush() method will be called.

See Also: flush

setExpectedSegment

public void setExpectedSegment(String aString)
Sets the value of the expected string segment. When the (char[], int, int) write(char[], int, int) method is called, a string is instantiated with the passed array and compared to the aString parameter of this method. If the two strings differ, an junit.framework.AssertionFailedError will be thrown.

See Also: ExpectationSegment (char[], int, int)

setFlushShouldThrowException

public void setFlushShouldThrowException()
Sets the mock's behavior when flushing. If this method has been called, then flush() will throw an java.io.IOException IOException.

setWriteShouldThrowException

public void setWriteShouldThrowException()
Sets the mock's behavior when writing. If this method has been called, then (char[],int,int) write(char[], int, int) will throw an java.io.IOException IOException.

verify

public void verify()

write

public void write(char[] cbuf, int off, int len)
Either throws an exception or asserts a string segment for equality.

See Also: ExpectationSegment MockWriter

Copyright © 2002 Mock Objects. All Rights Reserved.