Use Finite State Machine to manage Elevator movement
[cs356-p1-elevator.git] / test.cpp
index e8dda09..bcc17b9 100644 (file)
--- a/test.cpp
+++ b/test.cpp
 #include <iostream>
+#include <list>
 using namespace std;
 
-//#include "elevator.hpp"
 #include "stop.hpp"
+#include "position.hpp"
+#include "elevator.hpp"
+
 
 int main (int argc, char *argv[])
 {
-       Stop s1 (1, DOWN);
-       Stop s2 (2, DOWN);
-
-       if (s1 > s2)
-               cout << "s1 > s2" << endl;
-       else if (s1 == s2)
-               cout << "s1 == s2" << endl;
-       else if (s1 < s2)
-               cout << "s1 < s2" << endl;
-       else
-               cout << "BAD BAD BAD" << endl;
+       Elevator e(2);
+
+       Stop s2(3, DOWN);
+       e.stop_at (s2);
+
+       Stop s3(1, UP);
+       e.stop_at (s3);
+
+       Stop s4(4, DOWN);
+       e.stop_at (s4);
+
+
+
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
+       e.move ();
 
        return 0;
 }
 
+/* vim: set ts=4 sts=4 sw=4 noet tw=112: */