StoreEntryStream stream(anEntry);
CPPUNIT_ASSERT_EQUAL(1, anEntry->_buffer_calls);
CPPUNIT_ASSERT_EQUAL(0, anEntry->_flush_calls);
- stream << "some text" << std::setw(4) << "!";
+
+ stream.setf(std::ios::fixed);
+ stream << 123456 << std::setprecision(1) << 77.7;
+ stream << " some text" << std::setw(4) << "!" << '.';
CPPUNIT_ASSERT_EQUAL(1, anEntry->_buffer_calls);
- CPPUNIT_ASSERT_EQUAL(0, anEntry->_flush_calls);
+
+ const int preFlushCount = anEntry->_flush_calls;
+ // may have already flushed
+ CPPUNIT_ASSERT(preFlushCount >= 0);
stream.flush();
+ // flushed at least once more
+ CPPUNIT_ASSERT(anEntry->_flush_calls > preFlushCount);
+
CPPUNIT_ASSERT_EQUAL(1, anEntry->_buffer_calls);
- CPPUNIT_ASSERT_EQUAL(1, anEntry->_flush_calls);
- CPPUNIT_ASSERT_EQUAL(String("some text !"), anEntry->_appended_text);
+
+ CPPUNIT_ASSERT_EQUAL(String("12345677.7 some text !."),
+anEntry->_appended_text);
}
delete anEntry;