Add tests for same SCC O(1) query
This commit is contained in:
@@ -30,7 +30,7 @@ TEST_SUITE("Algorithm") {
|
||||
REQUIRE_EQ(G.vertices.size(), 9);
|
||||
|
||||
algo::Tarjan<std::uint16_t> tarjan(G);
|
||||
auto res = tarjan.run();
|
||||
auto res = tarjan.findSCC();
|
||||
|
||||
std::vector<std::vector<std::uint16_t>> exp = {
|
||||
{6, 8, 9},
|
||||
@@ -63,7 +63,7 @@ TEST_SUITE("Algorithm") {
|
||||
REQUIRE_EQ(G.vertices.size(), 7);
|
||||
|
||||
algo::Tarjan<std::uint16_t> tarjan(G);
|
||||
auto res = tarjan.run();
|
||||
auto res = tarjan.findSCC();
|
||||
|
||||
std::vector<std::vector<std::uint16_t>> exp = {
|
||||
{2, 5, 7},
|
||||
@@ -133,6 +133,18 @@ TEST_SUITE("Algorithm") {
|
||||
algo::DecrementalSCC<std::uint16_t> rz(G);
|
||||
rz.init();
|
||||
|
||||
std::vector<std::vector<std::uint16_t>> exp = {
|
||||
{2, 5, 7},
|
||||
{1, 3, 4, 6}
|
||||
};
|
||||
|
||||
CHECK_EQ(rz.query(1, 2), false);
|
||||
CHECK_EQ(rz.query(1, 3), true);
|
||||
CHECK_EQ(rz.query(1, 7), false);
|
||||
CHECK_EQ(rz.query(2, 3), false);
|
||||
CHECK_EQ(rz.query(2, 5), true);
|
||||
CHECK_EQ(rz.query(5, 7), true);
|
||||
|
||||
//CHECK_EQ(rz.query(1, 2), true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user