16 #define GETTEXT_DOMAIN "wesnoth-test"
18 #include <boost/test/unit_test.hpp>
83 return { side_cfg, connect_engine, 0 };
95 state.mp_settings().use_map_settings =
true;
96 state.mp_settings().saved_game = saved_game_mode::type::no;
101 side[
"recruit"] =
"Elvish Archer";
103 BOOST_CHECK_EQUAL(side_engine.
new_config()[
"recruit"],
"Elvish Archer");
109 state.mp_settings().use_map_settings =
true;
110 state.mp_settings().saved_game = saved_game_mode::type::no;
115 side[
"faction"] =
"Custom";
124 state.mp_settings().use_map_settings =
true;
125 state.mp_settings().saved_game = saved_game_mode::type::no;
130 side[
"faction"] =
"Random";
138 state.mp_settings().use_map_settings =
true;
139 state.mp_settings().saved_game = saved_game_mode::type::no;
144 side[
"faction"] =
"Rebels";
152 state.mp_settings().use_map_settings =
true;
153 state.mp_settings().saved_game = saved_game_mode::type::no;
158 side[
"faction"] =
"ThisFactionDoesNotExist";
167 state.mp_settings().use_map_settings =
true;
168 state.mp_settings().saved_game = saved_game_mode::type::no;
173 side[
"recruit"] =
"Elvish Archer";
174 side[
"faction"] =
"Undead";
181 state.mp_settings().use_map_settings =
true;
182 state.mp_settings().saved_game = saved_game_mode::type::no;
187 side[
"previous_recruits"] =
"Elvish Archer";
189 BOOST_CHECK_EQUAL(side_engine.
new_config()[
"previous_recruits"],
"Elvish Archer");
195 state.mp_settings().use_map_settings =
true;
196 state.mp_settings().saved_game = saved_game_mode::type::no;
215 state.mp_settings().use_map_settings =
true;
216 state.mp_settings().saved_game = saved_game_mode::type::no;
222 "type",
"ThisUnitDoesNotExist",
234 state.mp_settings().use_map_settings =
true;
235 state.mp_settings().saved_game = saved_game_mode::type::no;
240 side[
"faction"] =
"Custom";
249 state.mp_settings().use_map_settings =
true;
250 state.mp_settings().saved_game = saved_game_mode::type::no;
255 side[
"faction"] =
"Random";
264 state.mp_settings().use_map_settings =
true;
265 state.mp_settings().saved_game = saved_game_mode::type::no;
270 side[
"faction"] =
"Undead";
279 state.mp_settings().use_map_settings =
true;
280 state.mp_settings().saved_game = saved_game_mode::type::no;
286 "type",
"Elvish Archer",
290 "type",
"Elvish Ranger",
303 state.mp_settings().use_map_settings =
true;
304 state.mp_settings().saved_game = saved_game_mode::type::no;
320 state.mp_settings().use_map_settings =
true;
321 state.mp_settings().saved_game = saved_game_mode::type::no;
327 "type",
"Elvish Archer",
338 state.mp_settings().use_map_settings =
true;
339 state.mp_settings().saved_game = saved_game_mode::type::no;
356 state.mp_settings().use_map_settings =
true;
357 state.mp_settings().saved_game = saved_game_mode::type::no;
363 "type",
"Elvish Druid",
374 state.mp_settings().use_map_settings =
true;
375 state.mp_settings().saved_game = saved_game_mode::type::no;
381 "type",
"White Mage",
392 state.mp_settings().use_map_settings =
true;
393 state.mp_settings().saved_game = saved_game_mode::type::no;
411 state.mp_settings().use_map_settings =
true;
412 state.mp_settings().saved_game = saved_game_mode::type::no;
418 "type",
"White Mage",
429 state.mp_settings().use_map_settings =
true;
430 state.mp_settings().saved_game = saved_game_mode::type::no;
435 side[
"leader_lock"] =
true;
444 state.mp_settings().use_map_settings =
true;
445 state.mp_settings().saved_game = saved_game_mode::type::no;
450 side[
"faction"] =
"Random";
461 state.mp_settings().use_map_settings =
true;
462 state.mp_settings().saved_game = saved_game_mode::type::no;
467 "faction" ,
"Random",
482 state.mp_settings().use_map_settings =
true;
483 state.mp_settings().saved_game = saved_game_mode::type::no;
488 "faction" ,
"Random",
490 "type",
"White Mage",
504 state.mp_settings().use_map_settings =
true;
505 state.mp_settings().saved_game = saved_game_mode::type::no;
522 state.mp_settings().use_map_settings =
false;
523 state.mp_settings().saved_game = saved_game_mode::type::no;
528 side[
"recruit"] =
"Elvish Archer";
536 state.mp_settings().use_map_settings =
false;
537 state.mp_settings().saved_game = saved_game_mode::type::no;
542 side[
"faction"] =
"Custom";
552 state.mp_settings().use_map_settings =
false;
553 state.mp_settings().saved_game = saved_game_mode::type::no;
558 side[
"previous_recruits"] =
"Elvish Archer";
561 BOOST_CHECK_EQUAL(side_engine.
new_config()[
"previous_recruits"],
"Elvish Archer");
567 state.mp_settings().use_map_settings =
false;
568 state.mp_settings().saved_game = saved_game_mode::type::no;
574 "type",
"Goblin Impaler",
585 state.mp_settings().use_map_settings =
false;
586 state.mp_settings().saved_game = saved_game_mode::type::no;
591 "faction" ,
"Custom",
599 BOOST_CHECK_EQUAL(std::count(leaders.begin(), leaders.end(),
"Swordsman"), 1);
605 state.mp_settings().use_map_settings =
false;
606 state.mp_settings().saved_game = saved_game_mode::type::no;
622 BOOST_AUTO_TEST_SUITE_END()
A config object defines a single node in a WML file, with access to child nodes.
void append(const config &cfg)
Append data from another config object to this one.
void remove_attributes(T... keys)
void clear_children(T... keys)
config & mandatory_child(std::string_view key, int n=0)
Returns the nth child with the given key, or throws an error if there is none.
@ NO_FORCE_RELOAD
Don't reload if the previous defines equal the new defines.
bool init_game_config(FORCE_RELOAD_CONFIG force_reload)
void load_game_config_for_game(const game_classification &classification, const std::string &scenario_id)
const game_config_view & game_config() const
const config & find_mandatory_child(std::string_view key, const std::string &name, const std::string &value) const
this class is initialized once at game start put all initialization and wipe code in the methods here...
connect_engine(saved_game &state, const bool first_scenario, mp_game_metadata *metadata)
const std::vector< const config * > & choosable_factions() const
const std::string & current_gender() const
void set_current_faction(const unsigned index)
const std::vector< std::string > & choosable_genders() const
const std::vector< std::string > & choosable_leaders() const
void set_current_leader(const unsigned index)
const config & current_faction() const
const std::string & current_leader() const
void resolve_random(randomness::mt_rng &rng, const std::vector< std::string > &avoid_faction_ids=std::vector< std::string >())
config new_config() const
game_classification & classification()
std::string get_scenario_id() const
mp_game_settings & mp_settings()
Multiplayer parameters for this game.
void set_scenario(config scenario)
config & get_starting_point()
test_connect_engine(saved_game &gamestate)
void set_test_resolution(const int width, const int height)
Sets the dummy display resolution for use by the tests.
std::vector< std::string > dummy_args
hotkey::manager hotkey_manager
commandline_options cmdline_opts
game_config_manager config_manager
saved_game_mode::type saved_game
BOOST_FIXTURE_TEST_SUITE(test_map_location, MLFixture)
static ng::side_engine create_side_engine(const config &defaults, test_connect_engine &connect_engine)
BOOST_AUTO_TEST_CASE(flg_map_settings2)