diff --git a/source/test-java/org/alfresco/rest/api/search/RangeResultMapperTests.java b/source/test-java/org/alfresco/rest/api/search/RangeResultMapperTests.java
new file mode 100644
index 0000000000..2abeb4f339
--- /dev/null
+++ b/source/test-java/org/alfresco/rest/api/search/RangeResultMapperTests.java
@@ -0,0 +1,108 @@
+/*-
+ * #%L
+ * Alfresco Remote API
+ * %%
+ * Copyright (C) 2005 - 2016 Alfresco Software Limited
+ * %%
+ * This file is part of the Alfresco software.
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
+ * provided under the following open source license terms:
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ * #L%
+ */
+package org.alfresco.rest.api.search;
+
+import static junit.framework.TestCase.assertEquals;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.repo.search.impl.solr.facet.facetsresponse.GenericBucket;
+import org.alfresco.repo.search.impl.solr.facet.facetsresponse.GenericFacetResponse;
+import org.alfresco.repo.search.impl.solr.facet.facetsresponse.RangeResultMapper;
+import org.alfresco.rest.api.search.model.SearchQuery;
+import org.alfresco.service.cmr.search.RangeParameters;
+import org.junit.Test;
+
+/**
+ * Tests the RangeResultMapper class
+ *
+ * @author Michael Suzuki
+ */
+public class RangeResultMapperTests
+{
+ static Map facet = new HashMap();
+ {
+ facet.put("start", "0");
+ facet.put("end", "10");
+ }
+
+ @Test
+ public void testBuildGenericBucketFromRange() throws Exception
+ {
+ //=============== start bucket
+ GenericBucket response = queryWithInclude(null, "head");
+ assertEquals("test:[0 TO 10>", response.getFilterQuery());
+
+ response = queryWithInclude("outer", "head");
+ assertEquals("test:[0 TO 10]", response.getFilterQuery());
+
+ response = queryWithInclude("lower", "head");
+ assertEquals("test:[0 TO 10<", response.getFilterQuery());
+
+ response = queryWithInclude("edge", "head");
+ assertEquals("test:[0 TO 10<", response.getFilterQuery());
+
+ response = queryWithInclude("upper", "head");
+ assertEquals("test:]0 TO 10>", response.getFilterQuery());
+
+ //=============== Non start end bucket
+ response = queryWithInclude("lower", "body");
+ assertEquals("test:[0 TO 10<", response.getFilterQuery());
+ response = queryWithInclude("upper", "body");
+ assertEquals("test:]0 TO 10>", response.getFilterQuery());
+ //=============== End bucket
+ response = queryWithInclude("lower", "tail");
+ assertEquals("test:[0 TO 10>", response.getFilterQuery());
+
+ response = queryWithInclude("edge", "tail");
+ assertEquals("test:]0 TO 10]", response.getFilterQuery());
+
+ response = queryWithInclude("upper", "tail");
+ assertEquals("test:]0 TO 10]", response.getFilterQuery());
+ }
+
+ private GenericBucket queryWithInclude(String param, String bucketPosition)
+ {
+
+ List ranges = new ArrayList();
+ if(param != null && !param.isEmpty())
+ {
+ List include = new ArrayList();
+ include.add(param);
+ ranges.add(new RangeParameters("test", "0", "10", "1", true, null, include, null, null));
+ }
+ Map facet = new HashMap();
+ facet.put("bucketPosition", bucketPosition);
+ facet.put(GenericFacetResponse.LABEL, "test");
+ facet.put(GenericFacetResponse.COUNT, "11");
+ facet.put(GenericFacetResponse.START, "0");
+ facet.put(GenericFacetResponse.END, "10");
+ return RangeResultMapper.buildGenericBucketFromRange("test", facet, ranges);
+ }
+}
diff --git a/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java b/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java
index 23a7ffe73d..31206442db 100644
--- a/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java
+++ b/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java
@@ -491,7 +491,7 @@ public class ResultMapperTests
assertEquals("[0 - 100)",rangeFacets.get(1).getBuckets().get(0).getLabel());
Object[] metrics = rangeFacets.get(1).getBuckets().get(0).getMetrics().toArray();
assertEquals("4",((SimpleMetric) metrics[0]).getValue().get("count"));
- assertEquals("content.size:[0 TO 100>", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
+ assertEquals("content.size:[0 TO 100<", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
assertEquals(null,rangeFacets.get(1).getBuckets().get(0).getBucketInfo().get("count"));
Map facetInfo = rangeFacets.get(1).getBuckets().get(0).getBucketInfo();
assertEquals("0",facetInfo.get("start"));
@@ -503,7 +503,7 @@ public class ResultMapperTests
facetInfo = rangeFacets.get(1).getBuckets().get(1).getBucketInfo();
assertEquals("100",facetInfo.get("start"));
assertEquals("200",facetInfo.get("end"));
- assertEquals("content.size:[100 TO 200>", rangeFacets.get(1).getBuckets().get(1).getFilterQuery());
+ assertEquals("content.size:[100 TO 200<", rangeFacets.get(1).getBuckets().get(1).getFilterQuery());
assertEquals(null,rangeFacets.get(1).getBuckets().get(1).getBucketInfo().get("count"));
assertEquals("false",rangeFacets.get(1).getBuckets().get(0).getBucketInfo().get("endInclusive"));
assertEquals("true",rangeFacets.get(1).getBuckets().get(0).getBucketInfo().get("startInclusive"));
@@ -536,7 +536,7 @@ public class ResultMapperTests
assertEquals("[0 - 100]",rangeFacets.get(1).getBuckets().get(0).getLabel());
Object[] metrics = rangeFacets.get(1).getBuckets().get(0).getMetrics().toArray();
assertEquals("4",((SimpleMetric) metrics[0]).getValue().get("count"));
- assertEquals("content.size:[0 TO 100]", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
+ assertEquals("content.size:]0 TO 100>", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
assertEquals(null,rangeFacets.get(1).getBuckets().get(0).getBucketInfo().get("count"));
Map facetInfo = rangeFacets.get(1).getBuckets().get(0).getBucketInfo();
assertEquals("0",facetInfo.get("start"));