Пример #1
0
TEST(GoalUndoTest, Empty_AddOP_1ARG_Check)
{
        GoalUndo obj;
        obj.addOperation("");
	obj.undoGoal();
	obj.undoOperation();
	obj.undoOperation("a");
	ASSERT_EQ("", obj.getGoal());
	ASSERT_EQ("", obj.getOperations());
}
Пример #2
0
TEST(GoalUndoTest, RedundantOperation)
{
  GoalUndo gundo;
  gundo.addOperation("AnyIoperation");
  gundo.undoOperation("AnyIoperation");
  ASSERT_EQ("", gundo.getOperations());
}
Пример #3
0
TEST(GoalUndoTest, UndoNoMatchOperation)
{
   GoalUndo gu;
   gu.addOperation("Square","Area");
   gu.undoOperation("Radius");
   ASSERT_EQ("Area",gu.getOperations());
}
Пример #4
0
TEST(GoalUndoTest, undoOP_Check)
{
        GoalUndo obj;
        obj.addOperation("OP1");
        ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1", obj.getOperations());
        obj.addOperation("OP2");
        ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1 OP2", obj.getOperations());
	obj.undoOperation();
        ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1", obj.getOperations());
	obj.undoOperation();
        ASSERT_EQ("", obj.getGoal());
        ASSERT_EQ("", obj.getOperations());
}
Пример #5
0
TEST(GoalUndoTest, ADDtoAddedGoal__AddOP_1ARG_Check)
{
        GoalUndo obj;
        obj.addOperation("OP1");
        ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1", obj.getOperations());
	obj.addOperation("OP2");
	ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1 OP2", obj.getOperations());
	obj.undoOperation("OP33");
	ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1 OP2", obj.getOperations());
	obj.undoOperation();
	ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("OP1", obj.getOperations());
	obj.undoOperation("OP1");
	ASSERT_EQ("OP1", obj.getGoal());
        ASSERT_EQ("", obj.getOperations());
}
Пример #6
0
TEST(GoalUndoTest, UndoLatestGoalOperation)
{
   GoalUndo gu;
   gu.addOperation("Square","Area");
   gu.addOperation("Circle","Circumference");
   gu.addOperation("Sphere","Volume");
   gu.addOperation("Radius");
   gu.addOperation("pi*r^3");
   
   gu.undoOperation("Radius");
   ASSERT_EQ("Volume pi*r^3",gu.getOperations());
}
Пример #7
0
TEST(GoalUndoTest, UndoOneOperation)
{
   bool set;
   GoalUndo gu;
   gu.addOperation("Square","Area");
   try{
      set = false;
      gu.undoOperation();
   }
   catch(...)
   {
      set = true;
      ASSERT_EQ("Square",gu.getGoal());
   }
   if(set == false)
   {
      ASSERT_EQ("",gu.getGoal());
   }
}
Пример #8
0
TEST(GoalUndoTest, UndoLatestOperation)
{
   bool set = false;
   GoalUndo gu;
   gu.addOperation("Square","Area");
   gu.addOperation("Circle","Circumference");
   gu.addOperation("Sphere","Volume");
   gu.addOperation("Radius");
   gu.addOperation("pi*r^3");
   try
   {
      gu.undoOperation();
   }
   catch(...)
   {
      set = true;
      ASSERT_EQ("Volume Radius pi*r^3",gu.getOperations());
   }
   if(set == false)
   {
      ASSERT_EQ("Volume Radius",gu.getOperations());
   }
}
Пример #9
0
TEST(GoalUndoTest, ErrorOp)
{
  GoalUndo gundo;
  gundo.undoOperation("Arithmetic");
  ASSERT_EQ("", gundo.getOperations());
}
Пример #10
0
TEST(GoalUndoTest, UndoEmptyOperation)
{
   GoalUndo gu;
   gu.undoOperation();
   ASSERT_EQ("",gu.getOperations());
}
Пример #11
0
TEST(GoalUndoTest, UndoInvalidOperation)
{
   GoalUndo gu;
   gu.undoOperation("Radius");
   ASSERT_EQ("",gu.getOperations());
}