// // EDRAv2. Unit test // Variant. // #include "pch.h" #include "test_stream.h" using namespace openEdr; TEST_CASE("CacheStream.createObject", "[openEdr::io]") { SECTION("RawReadableStreamCache.") { REQUIRE_NOTHROW([&]() { auto pObj = createObject(CLSID_MemoryStream); auto pCache = io::createStreamCache(queryInterface(pObj)); pObj.reset(); pCache.reset(); }()); } SECTION("ReadableStreamCache.") { REQUIRE_NOTHROW([&]() { auto pObj = createObject(CLSID_MemoryStream); auto pCache = io::createStreamCache(queryInterface(pObj)); pObj.reset(); pCache.reset(); }()); } SECTION("RawReadableStreamConverter.") { REQUIRE_NOTHROW([&]() { auto pObj = createObject(CLSID_MemoryStream); auto pCache = io::convertStream(queryInterface(pObj)); pObj.reset(); pCache.reset(); }()); } } TEST_CASE("CacheStream.queryInterface", "[openEdr::io]") { auto pObj = createObject(CLSID_MemoryStream); SECTION("RawReadableStreamCache.") { REQUIRE_NOTHROW([&]() { auto pCache = queryInterface(io::createStreamCache(queryInterface(pObj))); pCache.reset(); }()); REQUIRE_THROWS([&]() { auto pCache = queryInterface(io::createStreamCache(queryInterface(pObj))); pCache.reset(); }()); } SECTION("ReadableStreamCache.") { REQUIRE_NOTHROW([&]() { auto pCacheRR = queryInterface(io::createStreamCache(queryInterface(pObj))); pCacheRR.reset(); auto pCacheR = queryInterface(io::createStreamCache(queryInterface(pObj))); pCacheR.reset(); }()); } SECTION("RawReadableStreamConverter.") { REQUIRE_NOTHROW([&]() { auto pCacheRR = queryInterface(io::convertStream(queryInterface(pObj))); pCacheRR.reset(); auto pCacheR = queryInterface(io::convertStream(queryInterface(pObj))); pCacheR.reset(); }()); } } TEST_CASE("CacheStream.readRawReadableStreamCache", "[openEdr::io]") { Byte pBuffer[0x10]; ObjPtr pStream; REQUIRE_NOTHROW([&]() { pStream = io::createStreamCache(queryInterface(io::createMemoryStream(sizeof(pBuffer)))); }()); readRawStream(pStream); } TEST_CASE("CacheStream.readReadableStreamCache", "[openEdr::io]") { Byte pBuffer[0x10]; ObjPtr pStream; REQUIRE_NOTHROW([&]() { pStream = io::createStreamCache(io::createMemoryStream(sizeof(pBuffer))); }()); readStream(pStream); } TEST_CASE("CacheStream.readRawReadableStreamConverter", "[openEdr::io]") { Byte pBuffer[0x10]; ObjPtr pStream; REQUIRE_NOTHROW([&]() { pStream = io::convertStream(io::createMemoryStream(sizeof(pBuffer))); }()); readStream(pStream); } TEST_CASE("CacheStream.positionReadableStreamCache", "[openEdr::io]") { Byte pBuffer[0x10]; ObjPtr pStream; REQUIRE_NOTHROW([&]() { pStream = io::createStreamCache(io::createMemoryStream(sizeof(pBuffer))); }()); streamPosition(pStream); } TEST_CASE("CacheStream.positionRawReadableStreamConverter", "[openEdr::io]") { Byte pBuffer[0x10]; ObjPtr pStream; REQUIRE_NOTHROW([&]() { pStream = io::convertStream(io::createMemoryStream(sizeof(pBuffer))); }()); streamPosition(pStream); }