Get_Searchers accessor for PolySearcher

Fixes LUCY-255.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/751c3b39
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/751c3b39
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/751c3b39

Branch: refs/heads/master
Commit: 751c3b39d921096884fb4d19a33dba42b215059e
Parents: fc66f67
Author: Nick Wellnhofer <[email protected]>
Authored: Sat Dec 24 17:36:16 2016 +0100
Committer: Nick Wellnhofer <[email protected]>
Committed: Mon Jan 2 16:33:57 2017 +0100

----------------------------------------------------------------------
 core/Lucy/Search/PolySearcher.c          | 5 +++++
 core/Lucy/Search/PolySearcher.cfh        | 5 +++++
 perl/t/509-poly_searcher.t               | 3 ++-
 test/Lucy/Test/Search/TestPolySearcher.c | 5 ++++-
 4 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/751c3b39/core/Lucy/Search/PolySearcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PolySearcher.c b/core/Lucy/Search/PolySearcher.c
index efa9321..002b736 100644
--- a/core/Lucy/Search/PolySearcher.c
+++ b/core/Lucy/Search/PolySearcher.c
@@ -83,6 +83,11 @@ PolySearcher_Destroy_IMP(PolySearcher *self) {
     SUPER_DESTROY(self, POLYSEARCHER);
 }
 
+Vector*
+PolySearcher_Get_Searchers_IMP(PolySearcher *self) {
+    return PolySearcher_IVARS(self)->searchers;
+}
+
 HitDoc*
 PolySearcher_Fetch_Doc_IMP(PolySearcher *self, int32_t doc_id) {
     PolySearcherIVARS *const ivars = PolySearcher_IVARS(self);

http://git-wip-us.apache.org/repos/asf/lucy/blob/751c3b39/core/Lucy/Search/PolySearcher.cfh
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PolySearcher.cfh 
b/core/Lucy/Search/PolySearcher.cfh
index 19427a6..ad7065e 100644
--- a/core/Lucy/Search/PolySearcher.cfh
+++ b/core/Lucy/Search/PolySearcher.cfh
@@ -48,6 +48,11 @@ public class Lucy::Search::PolySearcher
     public void
     Destroy(PolySearcher *self);
 
+    /** Accessor for searchers.
+     */
+    public Vector*
+    Get_Searchers(PolySearcher *self);
+
     public int32_t
     Doc_Max(PolySearcher *self);
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/751c3b39/perl/t/509-poly_searcher.t
----------------------------------------------------------------------
diff --git a/perl/t/509-poly_searcher.t b/perl/t/509-poly_searcher.t
index 13dee4d..2728d42 100644
--- a/perl/t/509-poly_searcher.t
+++ b/perl/t/509-poly_searcher.t
@@ -17,7 +17,7 @@ use strict;
 use warnings;
 use lib 'buildlib';
 
-use Test::More tests => 8;
+use Test::More tests => 9;
 use Lucy::Test;
 use Lucy::Test::TestUtils qw( create_index );
 
@@ -31,6 +31,7 @@ my $poly_searcher = Lucy::Search::PolySearcher->new(
     searchers => [ $searcher_a, $searcher_b ],
 );
 
+is( scalar @{ $poly_searcher->get_searchers }, 2, 'get_searchers' );
 is( $poly_searcher->doc_freq( field => 'content', term => 'b' ),
     2, 'doc_freq' );
 is( $poly_searcher->doc_max,                 6,     'doc_max' );

http://git-wip-us.apache.org/repos/asf/lucy/blob/751c3b39/test/Lucy/Test/Search/TestPolySearcher.c
----------------------------------------------------------------------
diff --git a/test/Lucy/Test/Search/TestPolySearcher.c 
b/test/Lucy/Test/Search/TestPolySearcher.c
index f511116..ed0082e 100644
--- a/test/Lucy/Test/Search/TestPolySearcher.c
+++ b/test/Lucy/Test/Search/TestPolySearcher.c
@@ -63,6 +63,9 @@ static void
 test_poly_searcher(TestBatchRunner *runner) {
     PolySearcher *poly_searcher = S_create_poly_searcher();
 
+    Vector *searchers = PolySearcher_Get_Searchers(poly_searcher);
+    TEST_UINT_EQ(runner, Vec_Get_Size(searchers), 2, "Get_Searchers");
+
     TEST_UINT_EQ(runner,
                  PolySearcher_Doc_Freq(poly_searcher, SSTR_WRAP_C("content"),
                                        (Obj*)SSTR_WRAP_C("b")),
@@ -121,6 +124,6 @@ test_poly_searcher(TestBatchRunner *runner) {
 
 void
 TestPolySearcher_Run_IMP(TestPolySearcher *self, TestBatchRunner *runner) {
-    TestBatchRunner_Plan(runner, (TestBatch*)self, 10);
+    TestBatchRunner_Plan(runner, (TestBatch*)self, 11);
     test_poly_searcher(runner);
 }

Reply via email to