The next little game in the series where I make a fancy rogue game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
roguish/tests/worldbuilder.cpp

51 lines
1.0 KiB

#include <catch2/catch_test_macros.hpp>
#include <fmt/core.h>
#include <nlohmann/json.hpp>
#include <fstream>
#include "map.hpp"
#include "worldbuilder.hpp"
using namespace fmt;
using namespace nlohmann;
using std::string;
TEST_CASE("bsp algo test", "[map]") {
Map map(20, 20);
WorldBuilder builder(map);
builder.generate();
}
TEST_CASE("dumping and debugging", "[map]") {
Map map(20, 20);
WorldBuilder builder(map);
builder.generate();
dump_map("GENERATED", map.paths());
map.dump();
}
TEST_CASE("camera control", "[map]") {
Map map(20, 20);
WorldBuilder builder(map);
builder.generate();
Point center = map.center_camera({10,10}, 5, 5);
REQUIRE(center.x == 8);
REQUIRE(center.y == 8);
Point translation = map.map_to_camera({10,10}, center);
REQUIRE(translation.x == 2);
REQUIRE(translation.y == 2);
}
TEST_CASE("pathing", "[map]") {
Map map(20, 20);
WorldBuilder builder(map);
builder.generate();
REQUIRE(map.can_move({0,0}) == false);
REQUIRE(map.iswall(0,0) == true);
}