1
// ---------------------------------------------------------------------------
3
// - standard object library - input-output stream class tester -
4
// ---------------------------------------------------------------------------
5
// - This program is free software; you can redistribute it and/or modify -
6
// - it provided that this copyright notice is kept intact. -
8
// - This program is distributed in the hope that it will be useful, but -
9
// - without any warranty; without even the implied warranty of -
10
// - merchantability or fitness for a particular purpose. In no event shall -
11
// - the copyright holder be liable for any direct, indirect, incidental or -
12
// - special damages arising in any way out of the use of this software. -
13
// ---------------------------------------------------------------------------
14
// - copyright (c) 1999-2007 amaury darsch -
15
// ---------------------------------------------------------------------------
17
#include "InputOutput.hpp"
19
int main (int, char**) {
20
using namespace afnix;
22
// create a default input stream
23
Buffer sbuf = "hello";
24
long slen = sbuf.length ();
25
InputOutput io ("hello");
26
if (io.buflen () != slen) return 1;
28
// read each character
29
for (long i = 0; i < slen; i++) {
30
if (io.read () != sbuf.read ()) return 1;
32
if (io.buflen () != 0) return 1;
33
if (sbuf.length () != 0) return 1;
35
// write a new string and reset buffer
38
if (io.buflen () != slen) return 1;
39
if (sbuf.length () != slen) return 1;
41
// read each character
42
for (long i = 0; i < slen; i++) {
43
if (io.read () != sbuf.read ()) return 1;
45
if (io.buflen () != 0) return 1;
46
if (io.iseof () == false) return 1;
50
if (io.iseof () == false) return 1;
51
if (io.buflen () != 0) return 1;