| 18 | |
| 19 | template <class WriterT> |
| 20 | void TestWrite(WriterT & writer) |
| 21 | { |
| 22 | writer.Write("01", 2); // "01" |
| 23 | TEST_EQUAL(writer.Pos(), 2, ()); |
| 24 | writer.Write("x", 1); // "01x" |
| 25 | TEST_EQUAL(writer.Pos(), 3, ()); |
| 26 | writer.Write("3", 1); // "01x3" |
| 27 | TEST_EQUAL(writer.Pos(), 4, ()); |
| 28 | writer.Seek(2); |
| 29 | TEST_EQUAL(writer.Pos(), 2, ()); |
| 30 | writer.Write("2", 1); // "0123" |
| 31 | TEST_EQUAL(writer.Pos(), 3, ()); |
| 32 | writer.Seek(7); |
| 33 | TEST_EQUAL(writer.Pos(), 7, ()); |
| 34 | writer.Write("7", 1); // "0123???7" |
| 35 | TEST_EQUAL(writer.Pos(), 8, ()); |
| 36 | writer.Seek(4); |
| 37 | TEST_EQUAL(writer.Pos(), 4, ()); |
| 38 | writer.Write("45", 2); // "012345?7" |
| 39 | writer.Write("6", 1); // "01234567" |
| 40 | } |
| 41 | } // namespace |
| 42 | |
| 43 | UNIT_TEST(MemWriter_Smoke) |