TEST(GoalUndoTest, First_AddOP_1ARG_Check) { GoalUndo obj; obj.addOperation("OP1"); ASSERT_EQ("OP1", obj.getGoal()); ASSERT_EQ("OP1", obj.getOperations()); obj.undoGoal(); ASSERT_EQ("", obj.getGoal()); ASSERT_EQ("", obj.getOperations()); }
TEST(GoalUndoTest, MultiOpInsideSingleGoal) { GoalUndo gundo; gundo.addOperation("fFirst", "MyTask"); gundo.addOperation("MyTask11"); ASSERT_EQ("MyTask MyTask11", gundo.getOperations()); }
TEST(GoalUndoTest, UndoNoMatchOperation) { GoalUndo gu; gu.addOperation("Square","Area"); gu.undoOperation("Radius"); ASSERT_EQ("Area",gu.getOperations()); }
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()); }
TEST(GoalUndoTest, RedundantOperation) { GoalUndo gundo; gundo.addOperation("AnyIoperation"); gundo.undoOperation("AnyIoperation"); ASSERT_EQ("", gundo.getOperations()); }
TEST(GoalUndoTest, AddOperationtoExistingGoal) { GoalUndo gu; gu.addOperation("Square","Area"); gu.addOperation("Perimeter"); gu.addOperation("Same Length Property"); ASSERT_EQ("Area Perimeter Same Length Property",gu.getOperations()); }
TEST(GoalUndoTest, Add_to_same_goal_Check) { GoalUndo obj; obj.addOperation("Goal1","OP1"); obj.addOperation("Goal1","OP2"); ASSERT_EQ("Goal1", obj.getGoal()); ASSERT_EQ("OP2", obj.getOperations()); }
TEST(GoalUndoTest, UndoIdenticalNames) { GoalUndo gundo; gundo.addOperation("AnyIoperation"); ASSERT_EQ("AnyIoperation", gundo.getGoal()); ASSERT_EQ("AnyIoperation", gundo.getOperations()); }
TEST(GoalUndoTest, AddingSingleOperation) { GoalUndo gundo; gundo.addOperation("RandomOperation"); ASSERT_EQ("RandomOperation", gundo.getOperations()); }
TEST(GoalUndoTest, GetOperations) { GoalUndo gu; gu.addOperation("Square","Area"); gu.addOperation("Circle","Circumference"); gu.addOperation("Sphere","Volume"); gu.addOperation("Radius"); ASSERT_EQ("Volume Radius",gu.getOperations()); }
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()); }
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()); }
TEST(GoalUndoTest, Multiple_GetOperations_Check) { GoalUndo obj; obj.addOperation("Goal1","OP1"); obj.addOperation("OP2"); obj.addOperation("OP3"); obj.addOperation("OP4"); obj.addOperation("OP5"); ASSERT_EQ("OP1 OP2 OP3 OP4 OP5", obj.getOperations()); }
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()); }
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()); } }
TEST(GoalUndoTest, AddingAdjacentsEntries) { GoalUndo gundo; gundo.addOperation("Movies", "Genre"); gundo.addOperation("Comedy"); gundo.addOperation("Adventure"); gundo.addOperation("Theater", "Musical"); gundo.addOperation("Dramatics"); gundo.addOperation("Documentary"); ASSERT_EQ("Theater", gundo.getGoal()); ASSERT_EQ("Musical Dramatics Documentary", gundo.getOperations()); gundo.undoGoal(); ASSERT_EQ("Movies", gundo.getGoal()); ASSERT_EQ("Genre Comedy Adventure", gundo.getOperations()); gundo.undoGoal(); gundo.undoGoal(); ASSERT_EQ("", gundo.getGoal()); gundo.undoGoal(); ASSERT_EQ("", gundo.getGoal()); ASSERT_EQ("", gundo.getOperations()); }
TEST(GoalUndoTest, CheckforNull) { GoalUndo gundo; ASSERT_EQ("", gundo.getOperations()); }
TEST(GoalUndoTest, ErrorOp) { GoalUndo gundo; gundo.undoOperation("Arithmetic"); ASSERT_EQ("", gundo.getOperations()); }
TEST(GoalUndoTest, GetEmptyOperation) { GoalUndo gu; ASSERT_EQ("",gu.getOperations()); }
TEST(GoalUndoTest, UndoInvalidOperation) { GoalUndo gu; gu.undoOperation("Radius"); ASSERT_EQ("",gu.getOperations()); }
TEST(GoalUndoTest, UndoEmptyOperation) { GoalUndo gu; gu.undoOperation(); ASSERT_EQ("",gu.getOperations()); }
TEST(GoalUndoTest, CheckOperationtoEmptyList) { GoalUndo gu; gu.addOperation("Circle"); ASSERT_EQ("Circle",gu.getOperations()); }
TEST(GoalUndoTest, AddEmptyOperationtoEmptyList) { GoalUndo gu; gu.addOperation(""); ASSERT_EQ("",gu.getOperations()); }