diff --git a/includes/RhythmGameUtilities/File.hpp b/includes/RhythmGameUtilities/File.hpp new file mode 100644 index 0000000..da2e853 --- /dev/null +++ b/includes/RhythmGameUtilities/File.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include +#include +#include +#include + +namespace RhythmGameUtilities +{ + +std::string ReadFromFile(const char *path) +{ + std::ifstream file(path); + + if (!file) + { + std::cerr << "Failed to open " << path << "." << std::endl; + + return ""; + } + + return std::string((std::istreambuf_iterator(file)), + std::istreambuf_iterator()); +} + +} // namespace RhythmGameUtilities diff --git a/tests/Mocks/test.txt b/tests/Mocks/test.txt new file mode 100644 index 0000000..af5626b --- /dev/null +++ b/tests/Mocks/test.txt @@ -0,0 +1 @@ +Hello, world! diff --git a/tests/RhythmGameUtilities/File.cpp b/tests/RhythmGameUtilities/File.cpp new file mode 100644 index 0000000..d1650eb --- /dev/null +++ b/tests/RhythmGameUtilities/File.cpp @@ -0,0 +1,20 @@ +#include +#include + +#include "RhythmGameUtilities/File.hpp" + +using namespace RhythmGameUtilities; + +void testReadFromFile() +{ + assert(ReadFromFile("./tests/Mocks/test.txt") == "Hello, world!\n"); + + std::cout << "."; +} + +int main() +{ + testReadFromFile(); + + return 0; +}