Skip to content

Commit 2cdc334

Browse files
Zhengqun Koochoonx99afterdusktianqi77
authored
Change line number type to std::size_t (#202)
* Change PkbTables::LINE_NO to std::size_t * update PkbQueryInterface and unit tests for line number changes * Handle line number conversion in ClauseDispatcher * Add comment highlighting redudant copy * change in frontend * Fix TestPkbTables * update unit test results ordering * Fix bug in PQL evaluator Co-authored-by: choonx99 <[email protected]> Co-authored-by: Liang Jun <[email protected]> Co-authored-by: tianqi77 <[email protected]>
1 parent 84469ec commit 2cdc334

23 files changed

+1113
-1005
lines changed

Team20/Code20/IntegrationTesting/TestFrontEnd.cpp

+134-137
Large diffs are not rendered by default.

Team20/Code20/UnitTesting/TestPkbFollows.cpp

+186-201
Large diffs are not rendered by default.

Team20/Code20/UnitTesting/TestPkbModifies.cpp

+44-45
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ TEST_CLASS(TestModifiesQuery) {
3434

3535
Assert::IsTrue(
3636
pkb.getQueryInterface()->modifies(setUpTests.c4, setUpTests.variable) ==
37-
STRING_SET{"y"}); // on assign statement
37+
NAME_SET{"y"}); // on assign statement
3838
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.c14,
3939
setUpTests.variable) ==
40-
STRING_SET{"q", "t"}); // on while statement
40+
NAME_SET{"q", "t"}); // on while statement
4141
Assert::IsTrue(
4242
pkb.getQueryInterface()->modifies(setUpTests.c7, setUpTests.variable) ==
43-
STRING_SET{"x", "y"}); // on call statement
44-
} // namespace UnitTesting
43+
NAME_SET{"x", "y"}); // on call statement
44+
} // namespace UnitTesting
4545

4646
TEST_METHOD(ModifiesLineNumberAndUnderscore) {
4747

@@ -60,81 +60,81 @@ TEST_CLASS(TestModifiesQuery) {
6060

6161
Assert::IsTrue(
6262
pkb.getQueryInterface()->modifies(setUpTests.stmt, setUpTests.strm) ==
63-
STRING_SET{setUpTests.l10});
63+
LINE_SET{setUpTests.l10});
6464
Assert::IsTrue(
6565
pkb.getQueryInterface()->modifies(setUpTests.stmt, setUpTests.strx) ==
66-
STRING_SET{setUpTests.l1, setUpTests.l7, setUpTests.l8});
66+
LINE_SET{setUpTests.l1, setUpTests.l7, setUpTests.l8});
6767

6868
Assert::IsTrue(
6969
pkb.getQueryInterface()->modifies(setUpTests.stmt, setUpTests.strk) ==
70-
STRING_SET{}); // string var not modified
71-
} // namespace UnitTesting
70+
LINE_SET{}); // string var not modified
71+
} // namespace UnitTesting
7272

7373
TEST_METHOD(ModifiesStmtAndVariable) {
7474

7575
Assert::IsTrue(
7676
pkb.getQueryInterface()->modifies(setUpTests.stmt,
7777
setUpTests.variable) ==
78-
STRING_PAIRS{
79-
STRING_VECTOR{
78+
LINE_NAME_PAIRS{
79+
LINE_VECTOR{
8080
setUpTests.l9, setUpTests.l1, setUpTests.l2, setUpTests.l3,
8181
setUpTests.l4, setUpTests.l5, setUpTests.l7, setUpTests.l7,
8282
setUpTests.l8, setUpTests.l10, setUpTests.l11, setUpTests.l11,
8383
setUpTests.l12, setUpTests.l13, setUpTests.l14, setUpTests.l14,
8484
setUpTests.l15, setUpTests.l15, setUpTests.l16, setUpTests.l17,
85-
setUpTests.l18, setUpTests.l20, setUpTests.l19, setUpTests.l23,
85+
setUpTests.l18, setUpTests.l19, setUpTests.l20, setUpTests.l23,
8686
setUpTests.l24},
87-
STRING_VECTOR{"r", "x", "y", "y", "y", "y", "y", "x", "x",
88-
"m", "q", "t", "q", "t", "q", "t", "q", "t",
89-
"t", "t", "t", "q", "q", "q", "q"}});
87+
NAME_VECTOR{"r", "x", "y", "y", "y", "y", "y", "x", "x",
88+
"m", "q", "t", "q", "t", "q", "t", "q", "t",
89+
"t", "t", "t", "q", "q", "q", "q"}});
9090

9191
} // namespace UnitTesting
9292

9393
TEST_METHOD(ModifiesStmtAndUnderscore) {
9494

9595
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.stmt,
9696
setUpTests.underscore) ==
97-
STRING_SET{setUpTests.l1, setUpTests.l2, setUpTests.l3,
98-
setUpTests.l4, setUpTests.l5, setUpTests.l7,
99-
setUpTests.l8, setUpTests.l9, setUpTests.l10,
100-
setUpTests.l11, setUpTests.l12, setUpTests.l13,
101-
setUpTests.l14, setUpTests.l15, setUpTests.l16,
102-
setUpTests.l17, setUpTests.l18, setUpTests.l19,
103-
setUpTests.l20, setUpTests.l23, setUpTests.l24});
97+
LINE_SET{setUpTests.l1, setUpTests.l2, setUpTests.l3,
98+
setUpTests.l4, setUpTests.l5, setUpTests.l7,
99+
setUpTests.l8, setUpTests.l9, setUpTests.l10,
100+
setUpTests.l11, setUpTests.l12, setUpTests.l13,
101+
setUpTests.l14, setUpTests.l15, setUpTests.l16,
102+
setUpTests.l17, setUpTests.l18, setUpTests.l19,
103+
setUpTests.l20, setUpTests.l23, setUpTests.l24});
104104
} // namespace UnitTesting
105105

106106
TEST_METHOD(ModifiesStatementAndString) {
107107

108108
Assert::IsTrue(
109109
pkb.getQueryInterface()->modifies(setUpTests.a, setUpTests.strx) ==
110-
STRING_SET{}); // no assignment modifies var x
110+
LINE_SET{}); // no assignment modifies var x
111111
Assert::IsTrue(
112112
pkb.getQueryInterface()->modifies(setUpTests.w, setUpTests.strt) ==
113-
STRING_SET{setUpTests.l14, setUpTests.l17});
113+
LINE_SET{setUpTests.l14, setUpTests.l17});
114114
Assert::IsTrue(
115115
pkb.getQueryInterface()->modifies(setUpTests.c, setUpTests.strx) ==
116-
STRING_SET{setUpTests.l7});
116+
LINE_SET{setUpTests.l7});
117117
} // namespace UnitTesting
118118

119119
TEST_METHOD(ModifiesStatementAndVariable) {
120120

121121
Assert::IsTrue(
122122
pkb.getQueryInterface()->modifies(setUpTests.a, setUpTests.variable) ==
123-
STRING_PAIRS(STRING_VECTOR{setUpTests.l4, setUpTests.l24,
124-
setUpTests.l10, setUpTests.l18,
125-
setUpTests.l16, setUpTests.l20},
126-
STRING_VECTOR{"y", "q", "m", "t", "t", "q"}));
123+
LINE_NAME_PAIRS(LINE_VECTOR{setUpTests.l4, setUpTests.l20,
124+
setUpTests.l10, setUpTests.l18,
125+
setUpTests.l16, setUpTests.l24},
126+
NAME_VECTOR{"y", "q", "m", "t", "t", "q"}));
127127
} // namespace UnitTesting
128128

129129
TEST_METHOD(ModifiesStatementAndUnderscore) {
130130

131131
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.w,
132132
setUpTests.underscore) ==
133-
STRING_SET{setUpTests.l3, setUpTests.l14, setUpTests.l17,
134-
setUpTests.l23});
133+
LINE_SET{setUpTests.l3, setUpTests.l14, setUpTests.l17,
134+
setUpTests.l23});
135135
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.c,
136136
setUpTests.underscore) ==
137-
STRING_SET{setUpTests.l7, setUpTests.l11});
137+
LINE_SET{setUpTests.l7, setUpTests.l11});
138138

139139
} // namespace UnitTesting
140140

@@ -155,16 +155,15 @@ TEST_CLASS(TestModifiesQuery) {
155155

156156
TEST_METHOD(ModifiesStringAndVariable) {
157157

158-
Assert::IsTrue(
159-
pkb.getQueryInterface()->modifies(setUpTests.strpaux,
160-
setUpTests.variable) ==
161-
STRING_SET{"x", "y"}); // no calls, only vars modified directly
158+
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.strpaux,
159+
setUpTests.variable) ==
160+
NAME_SET{"x", "y"}); // no calls, only vars modified directly
162161
Assert::IsTrue(
163162
pkb.getQueryInterface()->modifies(setUpTests.strpmain,
164163
setUpTests.variable) ==
165-
STRING_SET{"x", "y", "r", "q", "t",
166-
"m"}); // proc main modifies all vars directly & indirectly
167-
} // namespace UnitTesting
164+
NAME_SET{"x", "y", "r", "q", "t",
165+
"m"}); // proc main modifies all vars directly & indirectly
166+
} // namespace UnitTesting
168167

169168
TEST_METHOD(ModifiesStringAndUnderscore) {
170169

@@ -184,28 +183,28 @@ TEST_CLASS(TestModifiesQuery) {
184183

185184
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.procedure,
186185
setUpTests.strx) ==
187-
STRING_SET{"aux", "main"});
186+
NAME_SET{"aux", "main"});
188187
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.procedure,
189188
setUpTests.strq) ==
190-
STRING_SET{"main", "complicate"});
189+
NAME_SET{"main", "complicate"});
191190
} // namespace UnitTesting
192191

193192
TEST_METHOD(ModifiesProcedureAndVariable) {
194193

195194
Assert::IsTrue(
196195
pkb.getQueryInterface()->modifies(setUpTests.procedure,
197196
setUpTests.variable) ==
198-
STRING_PAIRS(
199-
STRING_VECTOR{"aux", "aux", "main", "main", "main", "main", "main",
200-
"main", "complicate", "complicate"},
201-
STRING_VECTOR{"y", "x", "x", "r", "m", "y", "q", "t", "q", "t"}));
197+
NAME_NAME_PAIRS(
198+
NAME_VECTOR{"aux", "aux", "main", "main", "main", "main", "main",
199+
"main", "complicate", "complicate"},
200+
NAME_VECTOR{"y", "x", "x", "r", "m", "y", "q", "t", "q", "t"}));
202201
} // namespace UnitTesting
203202

204203
TEST_METHOD(ModifiesProcedureAndUnderscore) {
205204

206205
Assert::IsTrue(pkb.getQueryInterface()->modifies(setUpTests.procedure,
207206
setUpTests.underscore) ==
208-
STRING_SET{"aux", "main", "complicate"});
207+
NAME_SET{"aux", "main", "complicate"});
209208
} // namespace UnitTesting
210209
};
211210

0 commit comments

Comments
 (0)