1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include <cgreen/cgreen.h>
#include <cgreen/mocks.h>
char *read_paragraph(int (*read)(void *), void *stream);
static int stream_stub(void *stream) {
return (int)mock(stream);
}
Describe(ParagraphReader);
BeforeEach(ParagraphReader) {}
AfterEach(ParagraphReader) {}
Ensure(ParagraphReader, gives_null_when_reading_empty_stream) {
always_expect(stream_stub, will_return(EOF)); // <1>
assert_that(read_paragraph(&stream_stub, NULL), is_null);
}
Ensure(ParagraphReader, gives_one_character_line_for_one_character_stream) {
expect(stream_stub, will_return('a'));
expect(stream_stub, will_return(EOF));
char *line = read_paragraph(&stream_stub, NULL);
assert_that(line, is_equal_to_string("a"));
free(line);
}
|