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, 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, UndoLatestGoal) { GoalUndo gu; gu.addOperation("Square","Area"); gu.addOperation("Circle","Circumference"); gu.addOperation("Sphere","Volume"); gu.addOperation("Radius"); gu.addOperation("pi*r^3"); gu.undoGoal(); ASSERT_EQ("Circle",gu.getGoal()); }
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, UndoOneGoal) { bool set; GoalUndo gu; gu.addOperation("Square","Area"); try { set = false; gu.undoGoal(); } catch(...) { set = true; ASSERT_EQ("Square",gu.getGoal()); } if(set == false) { ASSERT_EQ("",gu.getGoal()); } }
TEST(GoalUndoTest, UndoEmptyGoal) { GoalUndo gu; gu.undoGoal(); ASSERT_EQ("",gu.getGoal()); }