diff options
Diffstat (limited to 'test/src/mbgl/test/mock.hpp')
-rw-r--r-- | test/src/mbgl/test/mock.hpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/src/mbgl/test/mock.hpp b/test/src/mbgl/test/mock.hpp new file mode 100644 index 0000000000..b8eb020105 --- /dev/null +++ b/test/src/mbgl/test/mock.hpp @@ -0,0 +1,50 @@ +#pragma once + +#include <cstdint> +#include <string> +#include <memory> +#include <set> +#include <map> + +#include <mbgl/tile/tile_id.hpp> +#include <mbgl/util/range.hpp> + +struct MockTileData; + +struct MockSource { + mbgl::Range<uint8_t> zoomRange { 0, 16 }; + std::map<mbgl::OverscaledTileID, std::unique_ptr<MockTileData>> dataTiles; + std::set<mbgl::UnwrappedTileID> idealTiles; + + // Test API + inline MockTileData* createTileData(const mbgl::OverscaledTileID& tileID); +}; + +struct MockBucket {}; + + +struct MockTileData { + MockTileData(const mbgl::OverscaledTileID& tileID_) : tileID(tileID_) {} + + bool hasTriedCache() const { + return triedOptional; + } + + bool isRenderable() const { + return renderable; + } + + bool isLoaded() const { + return loaded; + } + + bool renderable = false; + bool triedOptional = false; + bool loaded = false; + const mbgl::OverscaledTileID tileID; +}; + +MockTileData* MockSource::createTileData(const mbgl::OverscaledTileID& tileID) { + // Replace the existing MockTileData object, if any. + return (dataTiles[tileID] = std::make_unique<MockTileData>(tileID)).get(); +} |