#include <catch2/catch_test_macros.hpp>
#include <fmt/core.h>
#include "map.hpp"
#include "worldbuilder.hpp"
#include "tilemap.hpp"
#include "config.hpp"
#include "rand.hpp"

using namespace fmt;
using std::string;

TEST_CASE("tilemap can load tiles and make a map", "[tilemap]") {
  size_t width = Random::uniform<size_t>(10, 25);
  size_t height = Random::uniform<size_t>(10, 33);

  Map map(width,height);
  WorldBuilder builder(map);
  builder.generate();

  TileMap tiles(map.width(), map.height());
  auto& walls = map.walls();
  tiles.load(walls);
  tiles.dump();
  REQUIRE(tiles.INVARIANT());
}
