memgraph/tests/unit/distributed_reset.cpp
Marin Tomic c4f51d87f8 Implement Reset for distributed operators
Reviewers: teon.banek, msantl, buda

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1467
2018-07-06 16:02:17 +02:00

36 lines
1.1 KiB
C++

#include "gtest/gtest.h"
#include "distributed/plan_dispatcher.hpp"
#include "distributed_common.hpp"
#include "query/context.hpp"
#include "query/interpret/frame.hpp"
class DistributedReset : public DistributedGraphDbTest {
protected:
DistributedReset() : DistributedGraphDbTest("reset") {}
};
TEST_F(DistributedReset, ResetTest) {
query::SymbolTable symbol_table;
auto once = std::make_shared<query::plan::Once>();
auto pull_remote = std::make_shared<query::plan::PullRemote>(
once, 42, std::vector<query::Symbol>());
master().plan_dispatcher().DispatchPlan(42, once, symbol_table);
database::GraphDbAccessor dba{master()};
query::Frame frame(0);
query::Context context(dba);
auto pull_remote_cursor = pull_remote->MakeCursor(dba);
for (int i = 0; i < 3; ++i) {
EXPECT_TRUE(pull_remote_cursor->Pull(frame, context));
}
EXPECT_FALSE(pull_remote_cursor->Pull(frame, context));
pull_remote_cursor->Reset();
for (int i = 0; i < 3; ++i) {
EXPECT_TRUE(pull_remote_cursor->Pull(frame, context));
}
EXPECT_FALSE(pull_remote_cursor->Pull(frame, context));
}