Functions

mitkTransitionTest.cpp File Reference

#include <mitkTransition.h>
#include <mitkAction.h>
#include <mitkState.h>
#include <fstream>

Go to the source code of this file.

Functions

int mitkTransitionTest (int, char *[])

Function Documentation

int mitkTransitionTest ( int  ,
char *  [] 
)

Definition at line 24 of file mitkTransitionTest.cpp.

References EXIT_FAILURE, EXIT_SUCCESS, int(), mitk::State::New(), and mitk::Action::New().

{
  int nextStateId = 10;
  int eventId = 100;
  
  //Create Transition
  itk::WeakPointer<mitk::Transition> transition = new mitk::Transition("transitionname", nextStateId, eventId);

  //check nextStateId
  std::cout << "Check StateId: ";
  if (transition->GetNextStateId()!=nextStateId)
  {
    std::cout<<"[FAILED]"<<std::endl;
    return EXIT_FAILURE;
  }
  std::cout<<"[PASSED]"<<std::endl;

  //check EventId
  std::cout << "Check EventId: ";
  if (transition->GetEventId()!=eventId || !transition->IsEvent(eventId))
  {
    std::cout<<"[FAILED]"<<std::endl;
    return EXIT_FAILURE;
  }
  std::cout<<"[PASSED]"<<std::endl;

  unsigned int count = 1;
  //Create Action
  mitk::Action::Pointer firstAction = mitk::Action::New(count);
  transition->AddAction(firstAction);

  //check ActionCount
  std::cout << "Check ActionCount after first addition of an action: ";
  if (transition->GetActionCount() != count)
  {
    std::cout<<"[FAILED]"<<std::endl;
    return EXIT_FAILURE;
  }
  std::cout<<"[PASSED]"<<std::endl;
  
  ++count;

  //Create Action
  mitk::Action::Pointer secondAction = mitk::Action::New(count);
  transition->AddAction(secondAction);

  //check ActionCount
  std::cout << "check action Count after second addition of an action: ";
  if (transition->GetActionCount() != count)
  {
    std::cout<<"[FAILED]"<<std::endl;
    return EXIT_FAILURE;
  }
  std::cout<<"[PASSED]"<<std::endl;

  count = 1;
  
  //check ActionIterators
  std::cout << "Check ActionIterators: ";
  mitk::Transition::ActionVectorIterator iter = transition->GetActionBeginIterator();
  mitk::Transition::ActionVectorConstIterator end = transition->GetActionEndIterator();
  while (iter != end)
  {
    if((*iter)->GetActionId()!=(int)count)
    {
      std::cout<<"[FAILED]"<<std::endl;
      return EXIT_FAILURE;
    }
    ++count;
    ++iter;
  }
  std::cout<<"[PASSED]"<<std::endl;

  //check setting State
  std::cout << "Check setting a statepointer and reading it again: ";
  int stateId = 10000;
  mitk::State::Pointer state = mitk::State::New("statename", stateId);
  transition->SetNextState(state);
  if (transition->GetNextState()!=state)
  {
    std::cout<<"[FAILED]"<<std::endl;
    return EXIT_FAILURE;
  }
  std::cout<<"[PASSED]"<<std::endl;

  //delete the instanciated transition
  delete transition;

  //well done!!! Passed!
  std::cout<<"[ALL PASSED]"<<std::endl;

  std::cout<<"[TEST DONE]"<<std::endl;
  return EXIT_SUCCESS;
}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines