/* Test pedorro a ver que pasa con lo que esta programado!! */
/* Compilar : g++ -Wall -o test -I../include *.cpp */
-#include "bomb.h"
+#include "pump.h"
#include "conduct.h"
#include "union.h"
+#include "splitter.h"
+#include "drainage.h"
+#include "exclusa.h"
#include <unistd.h>
+#include "simulador.h"
using namespace std;
using namespace PlaQui::Model;
int main(int argc, char *argv[])
{
- Bomb *bomba1, *bomba2;
- Conduct *canio1;
- Conduct *canio2;
- Conduct *salida;
- Union *union1;
-
+ Simulador *sim = new Simulador();
- bomba1 = new Bomb("bomba1");
- bomba1->set_max_flow(3);
- bomba2 = new Bomb("bomba2");
- bomba2->set_max_flow(5);
- canio1 = new Conduct("cond_1");
- canio1->set_max_flow(5);
- canio2 = new Conduct("cond_2");
- canio2->set_max_flow(5);
+ sim->add_pump("bomba1");
+ sim->add_conduct("c");
+ sim->add_drainage("d");
- union1 = new Union("union");
- union1->set_max_flow(5);
- salida = new Conduct("salida");
- salida->set_max_flow(10);
+ sim->connect("bomba1", "c", IConector::OUT);
+ sim->connect("c", "d", IConector::OUT);
- bomba1->connect(canio1, IConector::OUT);
- canio1->connect(bomba1, IConector::IN);
- canio1->connect(union1, IConector::OUT);
-
- bomba2->connect(canio2, IConector::OUT);
- canio2->connect(bomba2, IConector::IN);
- canio2->connect(union1, IConector::OUT);
-
- union1->connect(canio1, IConector::IN);
- union1->connect(canio2, IConector::IN);
- union1->connect(salida, IConector::OUT);
-
- salida->connect(union1, IConector::IN);
-
- int i = 0;
+ int i=0;
while (i<10) {
- bomba1->update();
- bomba2->update();
- canio1->update();
- canio2->update();
- salida->update();
- union1->update();
-
- bomba1->simulate();
- bomba2->simulate();
- canio1->simulate();
- canio2->simulate();
- salida->simulate();
- union1->simulate();
-
- sleep(1);
- if (i == 5) {
- bomba1->deactivate();
- }
+ sim->simulate();
i++;
}
- delete bomba1;
- delete bomba2;
- delete canio1;
- delete canio2;
- delete salida;
- delete union1;
+ delete sim;
return 1;
}