From 24260e9d0c2a43bdf12404bf5cb2e8d75fee84b5 Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Mon, 29 Feb 2016 10:18:57 -0600 Subject: [PATCH] test for topn fill --- executor_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/executor_test.go b/executor_test.go index b55c408e7..676cc20f1 100644 --- a/executor_test.go +++ b/executor_test.go @@ -204,6 +204,28 @@ func TestExecutor_Execute_TopN(t *testing.T) { t.Fatalf("unexpected result: %s", spew.Sdump(result)) } } +func TestExecutor_Execute_TopN_fill(t *testing.T) { + idx := MustOpenIndex() + defer idx.Close() + + // Set bits for bitmaps 0, 10, & 20 across two slices. + idx.MustCreateFragmentIfNotExists("d", "f", 0).SetBit(0, 0, nil, 0) + idx.MustCreateFragmentIfNotExists("d", "f", 0).SetBit(0, 1, nil, 0) + idx.MustCreateFragmentIfNotExists("d", "f", 0).SetBit(0, 2, nil, 0) + idx.MustCreateFragmentIfNotExists("d", "f", 1).SetBit(0, SliceWidth, nil, 0) + idx.MustCreateFragmentIfNotExists("d", "f", 1).SetBit(1, SliceWidth+2, nil, 0) + idx.MustCreateFragmentIfNotExists("d", "f", 1).SetBit(1, SliceWidth, nil, 0) + + // Execute query. + e := NewExecutor(idx.Index, NewCluster(1)) + if result, err := e.Execute("d", MustParse(`TopN(frame=f, n=1)`), nil, nil); err != nil { + t.Fatal(err) + } else if !reflect.DeepEqual(result, []pilosa.Pair{ + {Key: 0, Count: 4}, + }) { + t.Fatalf("unexpected result: %s", spew.Sdump(result)) + } +} // Ensure a TopN() query with a source bitmap can be executed. func TestExecutor_Execute_TopN_Src(t *testing.T) {