#include #include #include #include #include #include #include #include using lt::renderer::API; using lt::renderer::IContext; using ::lt::test::Case; using ::lt::test::expect_eq; using ::lt::test::expect_false; using ::lt::test::expect_not_nullptr; using ::lt::test::expect_throw; using ::lt::test::expect_true; using ::lt::test::Suite; using ::std::ignore; namespace constants { constexpr auto resolution = lt::math::uvec2 { 800u, 600u }; } class Fixture { public: Fixture() : m_registry(lt::create_ref()) , m_surface_system(lt::create_scope(m_registry)) , m_surface_entity(m_registry, m_registry->create_entity()) { } auto get_surface_entity() -> lt::ecs::Entity { return m_surface_entity; } private: lt::Ref m_registry; lt::Scope m_surface_system; lt::ecs::Entity m_surface_entity; }; Suite raii = "context_raii"_suite = [] { Case { "Happy path won't throw" } = [] { auto fixture = Fixture {}; IContext::create(API::Vulkan, fixture.get_surface_entity()); }; };