Tests: CreateMultiFrame create invalid frames
Test uses real "once" instead of mocked version
This commit is contained in:
parent
a9eca651df
commit
7e217e94b3
@ -26,12 +26,11 @@
|
||||
namespace memgraph::query::v2 {
|
||||
|
||||
MultiFrame CreateMultiFrame(const size_t max_pos, const Symbol &src, const Symbol &dst, MockedRequestRouter *router) {
|
||||
static constexpr size_t frame_size = 100;
|
||||
MultiFrame multi_frame(max_pos, frame_size, utils::NewDeleteResource());
|
||||
static constexpr size_t number_of_frames = 100;
|
||||
MultiFrame multi_frame(max_pos, number_of_frames, utils::NewDeleteResource());
|
||||
auto frames_populator = multi_frame.GetInvalidFramesPopulator();
|
||||
size_t i = 0;
|
||||
for (auto &frame : frames_populator) {
|
||||
frame.MakeValid();
|
||||
auto &src_acc = frame.at(src);
|
||||
auto &dst_acc = frame.at(dst);
|
||||
auto v1 = msgs::Vertex{.id = {{msgs::LabelId::FromUint(1)}, {msgs::Value(static_cast<int64_t>(i++))}}};
|
||||
@ -41,6 +40,8 @@ MultiFrame CreateMultiFrame(const size_t max_pos, const Symbol &src, const Symbo
|
||||
dst_acc = TypedValue(query::v2::accessors::VertexAccessor(v2, mp, router));
|
||||
}
|
||||
|
||||
multi_frame.MakeAllFramesInvalid();
|
||||
|
||||
return multi_frame;
|
||||
}
|
||||
|
||||
@ -61,11 +62,8 @@ TEST(CreateExpandTest, Cursor) {
|
||||
const auto &src = symbol_table.CreateSymbol("n", true);
|
||||
node.symbol = symbol_table.CreateSymbol("u", true);
|
||||
|
||||
auto once_cur = plan::MakeUniqueCursorPtr<MockedCursor>(utils::NewDeleteResource());
|
||||
EXPECT_CALL(BaseToMock(*once_cur), PullMultiple(_, _)).Times(1);
|
||||
|
||||
std::shared_ptr<plan::LogicalOperator> once_op = std::make_shared<MockedLogicalOperator>();
|
||||
EXPECT_CALL(BaseToMock(*once_op), MakeCursor(_)).Times(1).WillOnce(Return(std::move(once_cur)));
|
||||
auto once_op = std::make_shared<plan::Once>();
|
||||
auto once_cur = once_op->MakeCursor(utils::NewDeleteResource());
|
||||
|
||||
auto create_expand = plan::CreateExpand(node, edge, once_op, src, true);
|
||||
auto cursor = create_expand.MakeCursor(utils::NewDeleteResource());
|
||||
@ -79,11 +77,18 @@ TEST(CreateExpandTest, Cursor) {
|
||||
cursor->PullMultiple(multi_frame, context);
|
||||
|
||||
auto frames = multi_frame.GetValidFramesReader();
|
||||
auto number_of_valid_frames = 0;
|
||||
for (auto &frame : frames) {
|
||||
++number_of_valid_frames;
|
||||
EXPECT_EQ(frame[edge.symbol].IsEdge(), true);
|
||||
const auto &e = frame[edge.symbol].ValueEdge();
|
||||
EXPECT_EQ(e.EdgeType(), edge.edge_type);
|
||||
}
|
||||
EXPECT_EQ(number_of_valid_frames, 1);
|
||||
|
||||
auto invalid_frames = multi_frame.GetInvalidFramesPopulator();
|
||||
auto number_of_invalid_frames = std::distance(invalid_frames.begin(), invalid_frames.end());
|
||||
EXPECT_EQ(number_of_invalid_frames, 99);
|
||||
}
|
||||
|
||||
} // namespace memgraph::query::v2
|
||||
|
Loading…
Reference in New Issue
Block a user