Guest User

main.cpp

a guest
May 16th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. #include "Node.h"
  2. #include "Edge.h"
  3. #include "Network.h"
  4. #include "Exceptions.h"
  5.  
  6. int main()
  7. {
  8.     Network * x = new Network();
  9.     x->addNode("A");
  10.     x->addNode("B");
  11.     x->addNode("C");
  12.  
  13.     cout << *x << endl;
  14.  
  15.     x->removeNode("B");
  16.  
  17.     cout << *x << endl;
  18.  
  19.     cout << "------------------" << endl;
  20.  
  21.     x->addEdge("A","C",4);
  22.  
  23.     cout << *x << endl;
  24.  
  25.     cout << "-------EXCEPTIONS---------" << endl;
  26.  
  27.     try{
  28.         x->addNode("A");
  29.     }
  30.     catch(Exception ex)
  31.     {
  32.         if( ex == NODE_ALREADY_EXISTS )
  33.             cout << "NODE_ALREADY_EXISTS" << endl;
  34.     }
  35.  
  36.     try{
  37.         x->removeNode("B");
  38.     }
  39.     catch(Exception ex)
  40.     {
  41.         if( ex == NODE_DOES_NOT_EXIST )
  42.             cout << "NODE DOES NOT EXIST" << endl;
  43.     }
  44.  
  45.     try{
  46.         x->addEdge("A","C",3); // BE AWARE WEIGHT IS DIFFERENT
  47.     }
  48.     catch(Exception ex) {
  49.         if( ex == EDGE_ALREADY_EXISTS )
  50.         {
  51.             cout << "EDGE ALREADY EXISTS" << endl;
  52.         }
  53.     }
  54.  
  55.     x->removeEdge("A","C");
  56.     cout << *x << endl;
  57.  
  58.     try{
  59.         x->removeEdge("A","C");
  60.     }
  61.     catch(Exception ex){
  62.         if( ex == EDGE_DOES_NOT_EXIST )
  63.         {
  64.             cout << "EDGE DOES NOT EXIST" << endl;
  65.         }
  66.     }
  67.  
  68.     try{
  69.         x->addEdge("B","C",1);
  70.     }
  71.     catch(Exception ex)
  72.     {
  73.         if( ex == SOURCE_NODE_DOES_NOT_EXIST )
  74.         {
  75.             cout << "SOURCE NODE DOES NOT EXIST" << endl;
  76.         }
  77.     }
  78.  
  79.     try{
  80.         x->addEdge("A","B",1);
  81.     }
  82.     catch(Exception ex)
  83.     {
  84.         if( ex == DESTINATION_NODE_DOES_NOT_EXIST )
  85.         {
  86.             cout << "DESTINATION NODE DOES NOT EXIST" << endl;
  87.         }
  88.     }
  89.  
  90.     cout << "----------- EQUALITY OPERATOR ------------ " << endl;
  91.  
  92.     Network * y = new Network();
  93.     y->addNode("A");
  94.     y->addNode("C");
  95.     y->addEdge("A","C",5);
  96.  
  97.     x->addEdge("A","C",5);
  98.  
  99.     cout << *x << endl;
  100.     cout << * y << endl;
  101.    
  102.     if( *x == *y )
  103.     {
  104.         cout << "PERFECTO" << endl;
  105.     }
  106.  
  107.     Network * z = new Network();
  108.     z->addNode("A");
  109.     z->addNode("13");
  110.     z->addEdge("A","13",4);
  111.  
  112.     cout << "BEFORE MERGE" << endl;
  113.  
  114.     cout << * x << endl;
  115.  
  116.     cout << "--------" << endl;
  117.     cout << *z << endl;
  118.  
  119.     Network t = *z + *x;
  120.  
  121.     cout << "AFTER MERGE" << endl;
  122.  
  123.     cout << t << endl;
  124.    
  125.     cout << "--------" << endl;
  126.    
  127.     Network p;
  128.    
  129.     p.addNode("V");
  130.     p.addNode("Y");
  131.    
  132.     p.addEdge("V","Y",5);
  133.  
  134.     cout << p << endl;
  135.  
  136.     return 0;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment