From 729740b06f820302b874551e06977fa5f188bafe Mon Sep 17 00:00:00 2001
From: Niels Nijens <nijens.niels@gmail.com>
Date: Wed, 21 Sep 2016 15:50:48 +0200
Subject: [PATCH] Add tests for BoolQuery::getQueries

---
 tests/Query/BoolQueryTest.php | 50 +++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/tests/Query/BoolQueryTest.php b/tests/Query/BoolQueryTest.php
index d08dfe1..738bada 100644
--- a/tests/Query/BoolQueryTest.php
+++ b/tests/Query/BoolQueryTest.php
@@ -112,4 +112,54 @@ class BoolQueryTest extends \PHPUnit_Framework_TestCase
         ];
         $this->assertEquals($expected, $bool->toArray());
     }
+
+    /**
+     * Tests if BoolQuery::getQueries returns an empty array.
+     */
+    public function testGetQueriesEmpty()
+    {
+        $bool = new BoolQuery();
+
+        $this->assertInternalType('array', $bool->getQueries());
+    }
+
+    /**
+     * Tests if BoolQuery::getQueries returns an array with the added queries of all bool types.
+     */
+    public function testGetQueries()
+    {
+        $query = new TermQuery('key1', 'value1');
+        $query2 = new TermQuery('key2', 'value2');
+
+        $bool = new BoolQuery();
+        $bool->add($query, BoolQuery::MUST, 'query');
+        $bool->add($query2, BoolQuery::SHOULD, 'query2');
+
+        $this->assertSame(array('query' => $query, 'query2' => $query2), $bool->getQueries());
+    }
+
+    /**
+     * Tests if BoolQuery::getQueries with specified bool type returns an empty array.
+     */
+    public function testGetQueriesByBoolTypeEmpty()
+    {
+        $bool = new BoolQuery();
+
+        $this->assertInternalType('array', $bool->getQueries(BoolQuery::MUST));
+    }
+
+    /**
+     * Tests if BoolQuery::getQueries with specified bool type returns an array with added queries.
+     */
+    public function testGetQueriesByBoolTypeWithQueryAddedToBoolType()
+    {
+        $query = new TermQuery('key1', 'value1');
+        $query2 = new TermQuery('key2', 'value2');
+
+        $bool = new BoolQuery();
+        $bool->add($query, BoolQuery::MUST, 'query');
+        $bool->add($query2, BoolQuery::SHOULD, 'query2');
+
+        $this->assertSame(array('query' => $query), $bool->getQueries(BoolQuery::MUST));
+    }
 }
-- 
GitLab