📄 largeselecttest.java
字号:
package org.apache.torque.util;/* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2001 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache Turbine" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * "Apache Turbine", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */import org.apache.torque.BaseTestCase;import org.apache.torque.TorqueException;import org.apache.torque.test.Author;import org.apache.torque.test.AuthorPeer;import java.util.List;/** * Test code for LargeSelect. * * @author <a href="mailto:seade@backstagetech.com.au">Scott Eade</a> * @version $Id: LargeSelectTest.java,v 1.3 2003/01/09 17:46:22 henning Exp $ */public class LargeSelectTest extends BaseTestCase{ private static final int TEST_PAGE_SIZE = 9; private static final int TEST_PAGES = 9; private static final int TEST_ROWS = TEST_PAGE_SIZE * TEST_PAGES; private static final String LARGE_SELECT_AUTHOR = "LargeSelectAuthor"; private int firstAuthorId = -1; private Criteria criteria; /** * Creates a new instance. */ public LargeSelectTest(String name) { super(name); } public void setUp() { super.setUp(); // Clean up any previous failures tearDown(); // Create some test data for (int i = 0; i < TEST_ROWS; i++) { Author author = new Author(); author.setName(LARGE_SELECT_AUTHOR); try { author.save(); } catch (Exception e) { fail("Cannot create test data for LargeSelectTest."); } if (-1 == firstAuthorId) { firstAuthorId = author.getAuthorId(); } } // Set up the standard criteria for the test. criteria = new Criteria(); criteria.add(AuthorPeer.NAME, LARGE_SELECT_AUTHOR); } public void tearDown() { // Delete the test data criteria = new Criteria(); criteria.add(AuthorPeer.NAME, LARGE_SELECT_AUTHOR); try { AuthorPeer.doDelete(criteria); } catch (TorqueException e) { fail("Cannot delete test data for LargeSelectTest."); } criteria = null; } /** * Test the criteria provides the correct number of rows. */ public void testCriteria() throws TorqueException { List result = null; result = AuthorPeer.doSelect(criteria); assertEquals("Selected rows", TEST_ROWS, result.size()); } /** * Test an invalid criteria - includes a limit. */ public void testBadCriteria11() throws TorqueException { criteria.setLimit(1); try { new LargeSelect(criteria, TEST_PAGE_SIZE, "org.apache.torque.test.AuthorPeer"); } catch (IllegalArgumentException success) { // Do nothing } } /** * Test an invalid criteria - includes an offset. */ public void testBadCriteria12() throws TorqueException { criteria.setOffset(1); try { new LargeSelect(criteria, TEST_PAGE_SIZE, "org.apache.torque.test.AuthorPeer"); } catch (IllegalArgumentException success) { // Do nothing } } /** * Test an invalid page size. */ public void testBadPageSize() throws TorqueException { try { new LargeSelect(criteria, 0, "org.apache.torque.test.AuthorPeer"); } catch (IllegalArgumentException success) { // Do nothing } } /** * Test an invalid memory limit. */ public void testBadMemoryLimit() throws TorqueException { try { new LargeSelect(criteria, TEST_PAGE_SIZE, 0, "org.apache.torque.test.AuthorPeer"); } catch (IllegalArgumentException success) { // Do nothing } } /** * Test an invalid builder class (doesn't provide necessary methods). */ public void testBadClass() { try { new LargeSelect(criteria, TEST_PAGE_SIZE, "org.apache.torque.test.Author"); } catch (IllegalArgumentException success) { } } /** * Test a couple of static methods. */ public void testStaticMethods() throws TorqueException { assertEquals("Memory page limit", 5, LargeSelect.getMemoryPageLimit()); LargeSelect.setMemoryPageLimit(10); assertEquals("Memory page limit", 10, LargeSelect.getMemoryPageLimit()); LargeSelect.setMemoryPageLimit(LargeSelect.DEFAULT_MEMORY_LIMIT_PAGES); assertEquals("Memory page limit", 5, LargeSelect.getMemoryPageLimit()); assertEquals("More indicator", ">", LargeSelect.getMoreIndicator()); String newMoreIndicator = "more than"; LargeSelect.setMoreIndicator(newMoreIndicator);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -