Add tests for sf::MemoryInputStream
This commit is contained in:
parent
8c8d97c6c9
commit
c6f7fcaa2a
@ -18,6 +18,7 @@ SET(SYSTEM_SRC
|
||||
System/Clock.cpp
|
||||
System/Err.cpp
|
||||
System/FileInputStream.cpp
|
||||
System/MemoryInputStream.cpp
|
||||
System/Time.cpp
|
||||
System/Vector2.cpp
|
||||
System/Vector3.cpp
|
||||
|
33
test/System/MemoryInputStream.cpp
Normal file
33
test/System/MemoryInputStream.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
#include <SFML/System/MemoryInputStream.hpp>
|
||||
#include <string_view>
|
||||
#include <ostream>
|
||||
|
||||
#include <doctest.h>
|
||||
|
||||
TEST_CASE("sf::MemoryInputStream class - [system]")
|
||||
{
|
||||
SUBCASE("Empty stream")
|
||||
{
|
||||
sf::MemoryInputStream mis;
|
||||
|
||||
CHECK(mis.read(nullptr, 0) == -1);
|
||||
CHECK(mis.seek(0) == -1);
|
||||
CHECK(mis.tell() == -1);
|
||||
CHECK(mis.getSize() == -1);
|
||||
}
|
||||
|
||||
SUBCASE("Open memory stream")
|
||||
{
|
||||
using namespace std::literals::string_view_literals;
|
||||
constexpr auto memoryContents = "hello world"sv;
|
||||
sf::MemoryInputStream mis;
|
||||
mis.open(memoryContents.data(), sizeof(char) * memoryContents.size());
|
||||
|
||||
char buffer[32];
|
||||
CHECK(mis.read(buffer, 5) == 5);
|
||||
CHECK(std::string_view(buffer, 5) == std::string_view(memoryContents.data(), 5));
|
||||
CHECK(mis.seek(10) == 10);
|
||||
CHECK(mis.tell() == 10);
|
||||
CHECK(mis.getSize() == 11);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user