16 #define GETTEXT_DOMAIN "wesnoth-test"
23 #include <boost/test/unit_test.hpp>
32 std::ostream&
print(std::ostream&
s)
const {
s<<id_;
return s; }
34 std::shared_ptr<dummy_action>
shared_from_this() {
return std::static_pointer_cast<dummy_action>(action::shared_from_this()); }
35 void execute(
bool& success,
bool& complete){ success=
true; complete=
true; }
50 std::shared_ptr<dummy_action> dact;
53 auto act1 = std::make_shared<dummy_action>(0,
false, 1);
54 auto act2 = std::make_shared<dummy_action>(0,
false, 2);
55 auto act3 = std::make_shared<dummy_action>(0,
false, 3);
66 BOOST_REQUIRE(dact = std::dynamic_pointer_cast<dummy_action>(act));
67 BOOST_REQUIRE(dact->id_ == tmp);
71 auto act4 = std::make_shared<dummy_action>(0,
false, 4);
72 auto act5 = std::make_shared<dummy_action>(0,
false, 5);
73 auto act6 = std::make_shared<dummy_action>(0,
false, 6);
74 auto act7 = std::make_shared<dummy_action>(0,
false, 7);
75 auto act8 = std::make_shared<dummy_action>(0,
false, 8);
87 BOOST_REQUIRE(dact = std::dynamic_pointer_cast<dummy_action>(act));
88 BOOST_REQUIRE(dact->id_ == tmp);
91 BOOST_REQUIRE(dact = std::dynamic_pointer_cast<dummy_action>(*sac.
turn_begin(1)));
92 BOOST_REQUIRE(dact->id_ == 5);
94 BOOST_REQUIRE(dact = std::dynamic_pointer_cast<dummy_action>(*(1+sac.
turn_begin(1))));
95 BOOST_REQUIRE(dact->id_ == 6);
104 std::shared_ptr<dummy_action> dact;
106 auto act1 = std::make_shared<dummy_action>(0,
false, 1);
107 auto act2 = std::make_shared<dummy_action>(0,
false, 2);
108 auto act3 = std::make_shared<dummy_action>(0,
false, 3);
109 auto act4 = std::make_shared<dummy_action>(0,
false, 4);
110 auto act5 = std::make_shared<dummy_action>(0,
false, 5);
111 auto act6 = std::make_shared<dummy_action>(0,
false, 6);
126 for(
int i=1;
i<6;
i+=2, ++it){
127 BOOST_REQUIRE(dact = std::dynamic_pointer_cast<dummy_action>(*it));
128 BOOST_REQUIRE(dact->id_ ==
i);
132 BOOST_AUTO_TEST_SUITE_END()
Holds a temporary unit that can be drawn on the map without being placed in the unit_map.
Container associating units to locations.
Abstract base class for all the whiteboard planned actions.
Datastructure holding the actions of a side on multiple turns.
iterator turn_end(std::size_t turn_num)
iterator queue(std::size_t turn_num, const action_ptr &action)
Queues an action to be executed last.
iterator turn_begin(std::size_t turn_num)
Returns the iterator for the first (executed earlier) action of a given turn within the actions queue...
iterator erase(iterator position)
Deletes the action at the specified position.
iterator begin()
Returns the iterator for the first (executed earlier) action within the actions queue.
std::size_t turn_size(std::size_t turn_num) const
Returns the number of actions planned for turn turn_num.
iterator insert(iterator position, const action_ptr &action)
Inserts an action at the specified position.
std::size_t num_turns() const
Returns the number of turns that have plans.
container::iterator iterator
Abstract base class for all the visitors (cf GoF Visitor Design Pattern) the whiteboard uses.
std::string id
Text to match against addon_info.tags()
@ OK
Dialog was closed with the OK button.
std::shared_ptr< action > action_ptr
std::shared_ptr< unit > unit_ptr
dummy_action(std::size_t team_index, bool hidden, int id)
unit_ptr get_unit() const
Return the unit targeted by this action.
error check_validity() const
Check the validity of the action.
void execute(bool &success, bool &complete)
Output parameters: success: Whether or not to continue an execute-all after this execution complete: ...
map_location get_numbering_hex() const
void draw_hex(const map_location &)
Gets called by display when drawing a hex, to allow actions to draw to the screen.
std::shared_ptr< dummy_action > shared_from_this()
void apply_temp_modifier(unit_map &)
Applies temporarily the result of this action to the specified unit map.
std::ostream & print(std::ostream &s) const
void remove_temp_modifier(unit_map &)
Removes the result of this action from the specified unit map.
fake_unit_ptr get_fake_unit()
Encapsulates the map of the game.
BOOST_AUTO_TEST_SUITE(filesystem)
static map_location::direction s
BOOST_AUTO_TEST_CASE(test_insertion)
Contains typedefs for the whiteboard.
visitor is an abstract interface : action.accept(visitor) calls visitor.visit(action)