forked from ChicoState/GoalUndo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GoalUndoTest.cpp
115 lines (94 loc) · 2.36 KB
/
GoalUndoTest.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/**
* Unit Tests for GoalUndo class
**/
#include <gtest/gtest.h>
#include "GoalUndo.h"
class GoalUndoTest : public ::testing::Test
{
protected:
GoalUndoTest(){}
virtual ~GoalUndoTest(){}
virtual void SetUp(){}
virtual void TearDown(){}
};
TEST(GoalUndoTest, sanityCheck)
{
ASSERT_TRUE(true);
}
TEST(GoalUndoTest, MultiOperationsInsideSingleGoal)
{
GoalUndo gundo;
gundo.addOperation("fFirst", "MyTask");
ASSERT_EQ("MyTask", gundo.getOperations());
}
TEST(GoalUndoTest, RedundantOperation)
{
GoalUndo gundo;
gundo.addOperation("AnyIoperation");
gundo.undoOperation("AnyIoperation");
ASSERT_EQ("", gundo.getOperations());
}
TEST(GoalUndoTest, MultiOpInsideSingleGoal)
{
GoalUndo gundo;
gundo.addOperation("fFirst", "MyTask");
gundo.addOperation("MyTask11");
ASSERT_EQ("MyTask MyTask11", gundo.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, CheckforNull)
{
GoalUndo gundo;
ASSERT_EQ("", gundo.getOperations());
}
TEST(GoalUndoTest, NotEmpty)
{
GoalUndo gundo;
gundo.addOperation("arithmetic", "add operation");
ASSERT_EQ("arithmetic", gundo.getGoal());
}
TEST(GoalUndoTest, ErrorOp)
{
GoalUndo gundo;
gundo.undoOperation("Arithmetic");
ASSERT_EQ("", gundo.getOperations());
}
TEST(GoalUndoTest, EmptyNameforAdd)
{
GoalUndo gundo;
gundo.addOperation("", "");
ASSERT_EQ("", gundo.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());
}