#ifndef MESH_DATA_BASE_FOR_TESTS_HPP #define MESH_DATA_BASE_FOR_TESTS_HPP #include <mesh/IMesh.hpp> template <size_t Dimension> class Connectivity; template <typename ConnectivityT> class Mesh; #include <memory> class MeshDataBaseForTests { private: explicit MeshDataBaseForTests(); static const MeshDataBaseForTests* m_instance; std::shared_ptr<const IMesh> m_cartesian_1d_mesh; std::shared_ptr<const IMesh> m_cartesian_2d_mesh; std::shared_ptr<const IMesh> m_cartesian_3d_mesh; public: template <size_t Dimension> const Mesh<Connectivity<Dimension>>& cartesianMesh() const; static const MeshDataBaseForTests& get(); static void create(); static void destroy(); ~MeshDataBaseForTests() = default; }; #endif // MESH_DATA_BASE_FOR_TESTS_HPP