enumerate test stages

remove ambiguity when multiple stages of the same type are used
This commit is contained in:
v4hn 2020-04-03 21:18:13 +02:00
parent 5ae7e54732
commit a193fc2ec5

View File

@ -11,12 +11,14 @@
using namespace moveit::task_constructor; using namespace moveit::task_constructor;
static int mock_id = 0;
class GeneratorMockup : public Generator class GeneratorMockup : public Generator
{ {
int runs = 0; int runs = 0;
public: public:
GeneratorMockup(int runs = 0) : Generator("generator"), runs(runs) {} GeneratorMockup(int runs = 0) : Generator("generator " + std::to_string(mock_id++)), runs(runs) {}
bool canCompute() const override { return runs > 0; } bool canCompute() const override { return runs > 0; }
void compute() override { void compute() override {
if (runs > 0) if (runs > 0)
@ -27,7 +29,8 @@ public:
class MonitoringGeneratorMockup : public MonitoringGenerator class MonitoringGeneratorMockup : public MonitoringGenerator
{ {
public: public:
MonitoringGeneratorMockup(Stage* monitored) : MonitoringGenerator("monitoring generator", monitored) {} MonitoringGeneratorMockup(Stage* monitored)
: MonitoringGenerator("monitoring generator " + std::to_string(mock_id++), monitored) {}
bool canCompute() const override { return false; } bool canCompute() const override { return false; }
void compute() override {} void compute() override {}
void onNewSolution(const SolutionBase& s) override {} void onNewSolution(const SolutionBase& s) override {}
@ -39,7 +42,8 @@ class PropagatorMockup : public PropagatingEitherWay
int bw_runs = 0; int bw_runs = 0;
public: public:
PropagatorMockup(int fw = 0, int bw = 0) : PropagatingEitherWay("either way"), fw_runs(fw), bw_runs(bw) {} PropagatorMockup(int fw = 0, int bw = 0)
: PropagatingEitherWay("propagate " + std::to_string(mock_id++)), fw_runs(fw), bw_runs(bw) {}
void computeForward(const InterfaceState& from) override { void computeForward(const InterfaceState& from) override {
if (fw_runs > 0) if (fw_runs > 0)
--fw_runs; --fw_runs;
@ -54,7 +58,7 @@ class ForwardMockup : public PropagatorMockup
public: public:
ForwardMockup(int runs = 0) : PropagatorMockup(runs, 0) { ForwardMockup(int runs = 0) : PropagatorMockup(runs, 0) {
restrictDirection(FORWARD); restrictDirection(FORWARD);
setName("forward"); setName("forward " + std::to_string(mock_id++));
} }
}; };
class BackwardMockup : public PropagatorMockup class BackwardMockup : public PropagatorMockup
@ -62,7 +66,7 @@ class BackwardMockup : public PropagatorMockup
public: public:
BackwardMockup(int runs = 0) : PropagatorMockup(0, runs) { BackwardMockup(int runs = 0) : PropagatorMockup(0, runs) {
restrictDirection(BACKWARD); restrictDirection(BACKWARD);
setName("backward"); setName("backward " + std::to_string(mock_id++));
} }
}; };
@ -71,7 +75,7 @@ class ConnectMockup : public Connecting
int runs = 0; int runs = 0;
public: public:
ConnectMockup(int runs = 0) : Connecting("connect"), runs(runs) {} ConnectMockup(int runs = 0) : Connecting("connect " + std::to_string(mock_id++)), runs(runs) {}
void compute(const InterfaceState& from, const InterfaceState& to) override { void compute(const InterfaceState& from, const InterfaceState& to) override {
if (runs > 0) if (runs > 0)
--runs; --runs;