]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/src/main.cpp
- Se agregan mas comentarios a las clases
[z.facultad/75.42/plaqui.git] / Model / src / main.cpp
1
2 /* Test pedorro a ver que pasa con lo que esta programado!! */
3 /* Compilar : g++ -Wall -o test -I../include *.cpp */
4 #include "bomb.h"
5 #include "conduct.h"
6 #include "union.h"
7 #include <unistd.h>
8
9 using namespace std;
10 using namespace PlaQui::Model;
11
12 int main(int argc, char *argv[])
13 {
14         Bomb *bomba1, *bomba2;
15         Conduct *canio1;
16         Conduct *canio2;
17         Conduct *salida;
18         Union *union1;
19         
20
21         bomba1 = new Bomb("bomba1");
22         bomba1->set_max_flow(3);
23         bomba2 = new Bomb("bomba2");
24         bomba2->set_max_flow(5);
25         canio1 = new Conduct("cond_1");
26         canio1->set_max_flow(5);
27         canio2 = new Conduct("cond_2");
28         canio2->set_max_flow(5);
29
30         union1 = new Union("union");
31         union1->set_max_flow(5);
32         salida = new Conduct("salida");
33         salida->set_max_flow(10);
34
35         bomba1->connect(canio1, IConector::OUT);
36         canio1->connect(bomba1, IConector::IN);
37         canio1->connect(union1, IConector::OUT);
38
39         bomba2->connect(canio2, IConector::OUT);
40         canio2->connect(bomba2, IConector::IN);
41         canio2->connect(union1, IConector::OUT);
42
43         union1->connect(canio1, IConector::IN);
44         union1->connect(canio2, IConector::IN);
45         union1->connect(salida, IConector::OUT);
46
47         salida->connect(union1, IConector::IN);
48
49         int i = 0;
50         while (i<10) {
51                 bomba1->update();
52                 bomba2->update();
53                 canio1->update();
54                 canio2->update();
55                 salida->update();
56                 union1->update();
57
58                 bomba1->simulate();
59                 bomba2->simulate();
60                 canio1->simulate();
61                 canio2->simulate();
62                 salida->simulate();
63                 union1->simulate();
64                                         
65                 sleep(1);
66                 if (i == 5) {
67                         bomba1->deactivate();
68                 }
69                 i++;
70         }
71
72         delete bomba1;
73         delete bomba2;
74         delete canio1;
75         delete canio2;
76         delete salida;
77         delete union1;
78         return 1;
79 }
80
81