MCPcopy Create free account
hub / github.com/ComodoSecurity/openedr / streamPosition

Function streamPosition

edrav2/iprj/libcore/test/test_stream.cpp:221–394  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219//
220//
221void streamPosition(ObjPtr<io::IReadableStream> pStream)
222{
223 static const io::IoOffset nOffset = static_cast<io::IoOffset>(c_nStreamSize);
224
225 // Test size for IReadableStream indirectly
226 REQUIRE(pStream->getSize() == c_nStreamSize);
227
228 SECTION("getPosition")
229 {
230 auto fn = [&]()
231 {
232 REQUIRE(pStream->getPosition() == 0);
233 };
234 REQUIRE_NOTHROW(fn());
235 }
236
237
238 SECTION("setPositionDefault")
239 {
240 auto fn1 = [&]()
241 {
242 REQUIRE(pStream->setPosition(nOffset / 2) == 0);
243 REQUIRE(pStream->getPosition() == c_nStreamSize / 2);
244 };
245 REQUIRE_NOTHROW(fn1());
246
247 auto fn2 = [&]()
248 {
249 REQUIRE(pStream->setPosition(nOffset) == c_nStreamSize / 2);
250 REQUIRE(pStream->getPosition() == c_nStreamSize);
251 };
252 REQUIRE_NOTHROW(fn2());
253
254 auto fn3 = [&]()
255 {
256 REQUIRE(pStream->setPosition(0) == c_nStreamSize);
257 REQUIRE(pStream->getPosition() == 0);
258 };
259 REQUIRE_NOTHROW(fn3());
260 }
261
262 SECTION("setPositionDefaultFail")
263 {
264 auto fn = [&]()
265 {
266 pStream->setPosition(nOffset + 1);
267 };
268 REQUIRE_THROWS_AS(fn(), error::InvalidArgument);
269 }
270
271
272 SECTION("setPositionBegin")
273 {
274 auto fn1 = [&]()
275 {
276 REQUIRE(pStream->setPosition(nOffset / 2, io::StreamPos::Begin) == 0);
277 REQUIRE(pStream->getPosition() == c_nStreamSize / 2);
278 };

Callers 4

test_memstream.cppFile · 0.85

Calls 7

fnFunction · 0.50
fn1Function · 0.50
fn2Function · 0.50
fn3Function · 0.50
getSizeMethod · 0.45
getPositionMethod · 0.45
setPositionMethod · 0.45

Tested by

no test coverage detected