Fix HK::query for vertices in set S and tests
This commit is contained in:
@@ -65,7 +65,8 @@ bool HenzingerKing<T>::query(const T& u, const T& v) {
|
||||
|
||||
return std::any_of(S.begin(), S.end(),
|
||||
[&](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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -127,10 +127,13 @@ TEST_SUITE("Dynamic Reachability Test") {
|
||||
}
|
||||
|
||||
SUBCASE("HenzingerKing::insert") {
|
||||
henzingerKing.insert(4, 6);
|
||||
henzingerKing.insert(9, { { 1, 10 } });
|
||||
|
||||
CHECK_EQ(henzingerKing.query(1, 6), true);
|
||||
CHECK_EQ(henzingerKing.query(3, 6), true);
|
||||
CHECK_EQ(henzingerKing.query(1, 9), true);
|
||||
CHECK_EQ(henzingerKing.query(9, 1), true);
|
||||
|
||||
CHECK_EQ(henzingerKing.query(1, 10), true);
|
||||
CHECK_EQ(henzingerKing.query(10, 1), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user