Files
Destrum/tests/TestUtils.h
T

44 lines
1.0 KiB
C++

#pragma once
#include <cmath>
#include <cstdlib>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <destrum/ObjectModel/GameObject.h>
#include <destrum/Scene/Scene.h>
namespace test {
inline void check(bool condition, const char* message)
{
if (!condition) {
std::cerr << "FAILED: " << message << '\n';
std::exit(EXIT_FAILURE);
}
}
inline bool close(float a, float b)
{
return std::abs(a - b) < 0.001f;
}
inline std::string readFile(const std::filesystem::path& path)
{
std::ifstream file(path, std::ios::binary);
return {std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()};
}
inline GameObject* findByName(const Scene& scene, const std::string& name)
{
for (const auto& object : scene.GetObjects()) {
if (object->GetName() == name) {
return object.get();
}
}
return nullptr;
}
}