Fix HK::query for vertices in set S and tests

This commit is contained in:
stefiosif
2022-10-12 09:31:58 +03:00
parent 0847851536
commit 3d9651c474
2 changed files with 8 additions and 4 deletions

View File

@@ -65,7 +65,8 @@ bool HenzingerKing<T>::query(const T& u, const T& v) {
return std::any_of(S.begin(), S.end(), return std::any_of(S.begin(), S.end(),
[&](const T& w) { [&](const T& w) {
return In[w].contains(w, u) && Out[w].contains(w, v); return In[w].adjMatrix.contains(u) &&
Out[w].adjMatrix.contains(v);
}); });
} }

View File

@@ -127,10 +127,13 @@ TEST_SUITE("Dynamic Reachability Test") {
} }
SUBCASE("HenzingerKing::insert") { SUBCASE("HenzingerKing::insert") {
henzingerKing.insert(4, 6); henzingerKing.insert(9, { { 1, 10 } });
CHECK_EQ(henzingerKing.query(1, 6), true); CHECK_EQ(henzingerKing.query(1, 9), true);
CHECK_EQ(henzingerKing.query(3, 6), true); CHECK_EQ(henzingerKing.query(9, 1), true);
CHECK_EQ(henzingerKing.query(1, 10), true);
CHECK_EQ(henzingerKing.query(10, 1), false);
} }
} }
} }