MCPcopy Create free account
hub / github.com/MITK/MITK / TestStreamMethods

Function TestStreamMethods

Modules/Core/test/mitkFileWriterRegistryTest.cpp:107–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}; // End of internal dummy Writer 2
106
107void TestStreamMethods()
108{
109 DummyWriter dummyWriter(DummyBaseData::GetStaticNameOfClass(), "stream", 100);
110 DummyWriter2 dummyWriter2(DummyBaseData::GetStaticNameOfClass(), "file", 50);
111 mitk::FileWriterRegistry writerRegistry;
112
113 // Test DummyWriter, which always uses a ostream for writing, even
114 // when a file path is used
115 DummyBaseData dummyData;
116 std::stringstream oss;
117 writerRegistry.Write(&dummyData, oss);
118 MITK_TEST_CONDITION_REQUIRED(dummyWriter.m_Content == oss.str(), "Dummy stream writer")
119
120 std::string content;
121 {
122 std::ofstream tmpStream;
123 std::string tmpFileName = mitk::IOUtil::CreateTemporaryFile(tmpStream);
124 writerRegistry.Write(&dummyData, tmpFileName);
125
126 std::ifstream tmpInput(tmpFileName.c_str());
127 std::getline(tmpInput, content);
128 tmpInput.close();
129 tmpStream.close();
130 std::remove(tmpFileName.c_str());
131 }
132 MITK_TEST_CONDITION_REQUIRED(dummyWriter.m_Content == content, "Dummy stream writer")
133
134 // Test DummyWriter2, which always uses a real file for writing, even
135 // when a std::ostream object is given
136 std::stringstream oss2;
137 dummyWriter2.Write(&dummyData, oss2);
138 MITK_TEST_CONDITION_REQUIRED(dummyWriter2.m_Content == oss2.str(), "Dummy 2 stream writer")
139
140 std::string content2;
141 {
142 std::ofstream tmpStream;
143 std::string tmpFileName = mitk::IOUtil::CreateTemporaryFile(tmpStream, "XXXXXX.file");
144 writerRegistry.Write(&dummyData, tmpFileName);
145
146 std::ifstream tmpInput(tmpFileName.c_str());
147 std::getline(tmpInput, content2);
148 tmpInput.close();
149 std::remove(tmpFileName.c_str());
150 }
151 MITK_TEST_CONDITION_REQUIRED(dummyWriter2.m_Content == content2, "Dummy 2 stream writer")
152}
153
154/**
155 * TODO

Callers 1

Calls 3

closeMethod · 0.80
GetStaticNameOfClassFunction · 0.50
WriteMethod · 0.45

Tested by

no test coverage detected