Dynamic lib selection and deployment
[anna.git] / example / diameter / launcher / testing / TestCase.hpp
index a3b653d..b55abd7 100644 (file)
@@ -12,6 +12,7 @@
 // Standard
 #include <string>
 #include <vector>
+#include <map>
 
 // Project
 #include <anna/core/DataBlock.hpp>
@@ -30,7 +31,7 @@ namespace anna {
   }
 }
 
-class RealmNode;
+class OriginHost;
 
 
 class TestCase {
@@ -56,7 +57,7 @@ public:
     anna::xml::Node* asXML(anna::xml::Node* parent) const throw();
   };
 
-  TestCase(unsigned int id) : a_id(id), a_state(State::Initialized), a_startTime(0), a_interactiveAmount(-1) { /*a_stepsIt = a_steps.end()*/;}
+  TestCase(unsigned int id);
   ~TestCase();
 
   struct State { enum _v { Initialized, InProgress, Failed, Success }; };
@@ -82,8 +83,8 @@ public:
 
   // Step type & information
   void addTimeout(const anna::Millisecond &timeout) throw(anna::RuntimeException);
-  void addSendxml2e(const anna::DataBlock &db, RealmNode *realm, int stepNumber) throw(anna::RuntimeException);
-  void addSendxml2c(const anna::DataBlock &db, RealmNode *realm, int stepNumber) throw(anna::RuntimeException);
+  void addSendxml2e(const anna::DataBlock &db, OriginHost *host, int stepNumber) throw(anna::RuntimeException);
+  void addSendxml2c(const anna::DataBlock &db, OriginHost *host, int stepNumber) throw(anna::RuntimeException);
   void addDelay(const anna::Millisecond &delay) throw(anna::RuntimeException);
   void addWait(bool fromEntity,
                 const std::string &code, const std::string &bitR, const std::string &hopByHop, const std::string &applicationId,
@@ -108,6 +109,8 @@ public:
 
   //helpers
   int steps() const throw() { return a_steps.size(); }
+  void addStep(TestStep *step) throw() { a_steps.push_back(step); }
+
   TestStepWait *searchNextWaitConditionFulfilled(const anna::DataBlock &message, bool waitFromEntity) throw();
       // When a message arrives, we identify the test case by mean the Session-Id. Then, from the current step iterator (included),
       //  we search for a fulfilling condition for that message. The first found, is 'completed' and then breaks the search.