Files
wizapp-stdlib/tests/stream/test_stream.c
T

51 lines
1.2 KiB
C

// vim:fileencoding=utf-8:foldmethod=marker
#include "test_stream.h"
#define COUNT 3
WpTestFuncResult test_stream_at_end(void) {
b8 result = true;
c8 characters[COUNT] = {'a', 'b', 'c'};
WpC8Stream stream = wpStream(c8, characters, COUNT);
for (u32 i = 0; i < COUNT; ++i) {
wpStreamConsume(c8, &stream);
result = result && (i == 2 ? wpStreamAtEnd(c8, &stream) : !wpStreamAtEnd(c8, &stream));
}
return wpTesterResult(result);
}
WpTestFuncResult test_stream_peek(void) {
b8 result = true;
c8 characters[COUNT] = {'a', 'b', 'c'};
WpC8Stream stream = wpStream(c8, characters, COUNT);
c8 *c = NULL;
while (!wpStreamAtEnd(c8, &stream)) {
c = wpStreamPeek(c8, &stream);
wpStreamConsume(c8, &stream);
result = result && (wpStreamAtEnd(c8, &stream) ? c == NULL : c != NULL);
}
return wpTesterResult(result);
}
WpTestFuncResult test_stream_consume(void) {
b8 result = true;
c8 characters[COUNT] = {'a', 'b', 'c'};
WpC8Stream stream = wpStream(c8, characters, COUNT);
c8 *c = NULL;
for (u32 i = 0; i <= COUNT; ++i) {
c = wpStreamConsume(c8, &stream);
result = result && (i == COUNT ? c == NULL : c != NULL);
}
return wpTesterResult(result);
}