#include #include #include #include "model.hpp" #include "shader.hpp" using namespace fuc2; /* * This also tests Mesh by using Model to load them. */ 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), } }; }