learn-opengl/14-refactor/tests/model_tests.cpp

39 lines
821 B
C++

#include <deque>
#include <string>
#include <fuc2/testing.hpp>
#include "model.hpp"
#include "shader.hpp"
using namespace fuc2;
namespace model_tests {
void test_load_textures() {
Shader shader{"shaders/14-vert.glsl", "shaders/14-frag.glsl"};
Model popcorn{"assets", "popcorn_model_a.glb"};
popcorn.draw(shader);
Model crate_glb{"assets", "crate.glb"};
crate_glb.draw(shader);
Model crate_obj{"assets", "crate.obj"};
crate_obj.draw(shader);
}
void test_failures() {
auto runner = [&]() {
Model bad_obj{"assets", "does_not_exist.obj"};
};
BLOWS_UP(runner, "should fail on missing file.");
}
fuc2::Set TESTS{
.name="models",
.options={ .fail_fast=false },
.tests={
TEST(test_load_textures),
TEST(test_failures),
}
};
}