From: <fg...@us...> - 2011-03-05 17:10:42
|
Revision: 3367 http://openutils.svn.sourceforge.net/openutils/?rev=3367&view=rev Author: fgiust Date: 2011-03-05 17:10:36 +0000 (Sat, 05 Mar 2011) Log Message: ----------- don't expect a total size when no order is specified Modified Paths: -------------- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java Modified: trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java =================================================================== --- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java 2011-03-05 17:06:30 UTC (rev 3366) +++ trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java 2011-03-05 17:10:36 UTC (rev 3367) @@ -105,9 +105,10 @@ Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); criteria.setBasePath("/letters"); criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); + AdvancedResult advResult = criteria.execute(); - Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); + // Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); ResultIterator<AdvancedResultItem> resultIterator = advResult.getItems(); Assert.assertEquals(resultIterator.getSize(), LETTERS_ARRAY.length); @@ -137,7 +138,7 @@ AdvancedResult advResult = criteria.execute(); - Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); + // Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); ResultIterator<AdvancedResultItem> resultIterator = advResult.getItems(); Assert.assertEquals(resultIterator.getSize(), PAGINATION_LENGTH); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fn...@us...> - 2011-03-04 18:00:48
|
Revision: 3364 http://openutils.svn.sourceforge.net/openutils/?rev=3364&view=rev Author: fnecci Date: 2011-03-04 18:00:42 +0000 (Fri, 04 Mar 2011) Log Message: ----------- CRIT-34 Test for new feature request Added Paths: ----------- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java Added: trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java =================================================================== --- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java (rev 0) +++ trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/OrderingTest.java 2011-03-04 18:00:42 UTC (rev 3364) @@ -0,0 +1,149 @@ +/** + * + * Criteria API for Magnolia CMS (http://www.openmindlab.com/lab/products/mgnlcriteria.html) + * Copyright(C) 2009-2011, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlcriteria.advanced; + +import info.magnolia.cms.beans.config.ContentRepository; +import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; + +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + + +/** + * Tests pagination in criteria queries. + * @author fnecci + */ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.letters.xml") +public class OrderingTest extends TestNgRepositoryTestcase +{ + + private static String[] LETTERS_ARRAY = { + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z" }; + + private int PAGINATION_LENGTH = 10; + + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception + { + + super.setUp(); + + // Titles of the nodes in this workspace: + // - Letters + // --- A + // --- B + // --- C + // --- ... + // --- X + // --- Y + // --- Z + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } + + /** + * Retrieves all letters. + * @throws Exception + */ + @Test + public void testNoOrderNoPagination() throws Exception + { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); + criteria.setBasePath("/letters"); + criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); + AdvancedResult advResult = criteria.execute(); + + Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); + + ResultIterator<AdvancedResultItem> resultIterator = advResult.getItems(); + Assert.assertEquals(resultIterator.getSize(), LETTERS_ARRAY.length); + + int i = 0; + for (AdvancedResultItem currentResult : resultIterator) + { + Assert.assertEquals(currentResult.getTitle(), LETTERS_ARRAY[i]); + i++; + } + } + + /** + * Retrieves all letters. + * @throws Exception + */ + @Test + public void testNoOrderWithPagination() throws Exception + { + + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); + criteria.setBasePath("/letters"); + criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); + criteria.setPaging(PAGINATION_LENGTH, 1); + AdvancedResult advResult = criteria.execute(); + + Assert.assertEquals(advResult.getTotalSize(), LETTERS_ARRAY.length); + + ResultIterator<AdvancedResultItem> resultIterator = advResult.getItems(); + Assert.assertEquals(resultIterator.getSize(), PAGINATION_LENGTH); + + int i = 0; + for (AdvancedResultItem currentResult : resultIterator) + { + Assert.assertEquals(currentResult.getTitle(), LETTERS_ARRAY[i]); + i++; + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |