⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testintlist.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2003 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 POI" 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 POI", 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/>. */package org.apache.poi.util;import junit.framework.*;/** * Class to test IntList * * @author Marc Johnson */public class TestIntList    extends TestCase{    /**     * Constructor TestIntList     *     * @param name     */    public TestIntList(String name)    {        super(name);    }    /**     * test the various IntListconstructors     */    public void testConstructors()    {        IntList list = new IntList();        assertTrue(list.isEmpty());        list.add(0);        list.add(1);        IntList list2 = new IntList(list);        assertEquals(list, list2);        IntList list3 = new IntList(2);        assertTrue(list3.isEmpty());    }    /**     * test the add method     */    public void testAdd()    {        IntList list      = new IntList();        int[]   testArray =        {            0, 1, 2, 3, 5        };        for (int j = 0; j < testArray.length; j++)        {            list.add(testArray[ j ]);        }        for (int j = 0; j < testArray.length; j++)        {            assertEquals(testArray[ j ], list.get(j));        }        assertEquals(testArray.length, list.size());        // add at the beginning        list.add(0, -1);        assertEquals(-1, list.get(0));        assertEquals(testArray.length + 1, list.size());        for (int j = 0; j < testArray.length; j++)        {            assertEquals(testArray[ j ], list.get(j + 1));        }        // add in the middle        list.add(5, 4);        assertEquals(4, list.get(5));        assertEquals(testArray.length + 2, list.size());        for (int j = 0; j < list.size(); j++)        {            assertEquals(j - 1, list.get(j));        }        // add at the end        list.add(list.size(), 6);        assertEquals(testArray.length + 3, list.size());        for (int j = 0; j < list.size(); j++)        {            assertEquals(j - 1, list.get(j));        }        // add past end        try        {            list.add(list.size() + 1, 8);            fail("should have thrown exception");        }        catch (IndexOutOfBoundsException e)        {            // as expected        }        // test growth        list = new IntList(0);        for (int j = 0; j < 1000; j++)        {            list.add(j);        }        assertEquals(1000, list.size());        for (int j = 0; j < 1000; j++)        {            assertEquals(j, list.get(j));        }        list = new IntList(0);        for (int j = 0; j < 1000; j++)        {            list.add(0, j);        }        assertEquals(1000, list.size());        for (int j = 0; j < 1000; j++)        {            assertEquals(j, list.get(999 - j));        }    }    /**     * test the addAll method     */    public void testAddAll()    {        IntList list = new IntList();        for (int j = 0; j < 5; j++)        {            list.add(j);        }        IntList list2 = new IntList(0);        list2.addAll(list);        list2.addAll(list);        assertEquals(2 * list.size(), list2.size());        for (int j = 0; j < 5; j++)        {            assertEquals(list2.get(j), j);            assertEquals(list2.get(j + list.size()), j);        }        IntList empty = new IntList();        int     limit = list.size();        for (int j = 0; j < limit; j++)        {            assertTrue(list.addAll(j, empty));            assertEquals(limit, list.size());        }        try        {            list.addAll(limit + 1, empty);            fail("should have thrown an exception");        }        catch (IndexOutOfBoundsException e)        {            // as expected        }        // try add at beginning        empty.addAll(0, list);        assertEquals(empty, list);        // try in the middle        empty.addAll(1, list);        assertEquals(2 * list.size(), empty.size());        assertEquals(list.get(0), empty.get(0));        assertEquals(list.get(0), empty.get(1));        assertEquals(list.get(1), empty.get(2));        assertEquals(list.get(1), empty.get(6));        assertEquals(list.get(2), empty.get(3));        assertEquals(list.get(2), empty.get(7));        assertEquals(list.get(3), empty.get(4));        assertEquals(list.get(3), empty.get(8));        assertEquals(list.get(4), empty.get(5));        assertEquals(list.get(4), empty.get(9));        // try at the end        empty.addAll(empty.size(), list);        assertEquals(3 * list.size(), empty.size());        assertEquals(list.get(0), empty.get(0));        assertEquals(list.get(0), empty.get(1));        assertEquals(list.get(0), empty.get(10));        assertEquals(list.get(1), empty.get(2));        assertEquals(list.get(1), empty.get(6));        assertEquals(list.get(1), empty.get(11));        assertEquals(list.get(2), empty.get(3));        assertEquals(list.get(2), empty.get(7));        assertEquals(list.get(2), empty.get(12));        assertEquals(list.get(3), empty.get(4));        assertEquals(list.get(3), empty.get(8));        assertEquals(list.get(3), empty.get(13));        assertEquals(list.get(4), empty.get(5));        assertEquals(list.get(4), empty.get(9));        assertEquals(list.get(4), empty.get(14));    }    /**     * test the clear method     */    public void testClear()    {        IntList list = new IntList();        for (int j = 0; j < 500; j++)        {            list.add(j);        }        assertEquals(500, list.size());        list.clear();        assertEquals(0, list.size());        for (int j = 0; j < 500; j++)        {            list.add(j + 1);        }        assertEquals(500, list.size());        for (int j = 0; j < 500; j++)        {            assertEquals(j + 1, list.get(j));        }    }    /**     * test the contains method     */    public void testContains()    {        IntList list = new IntList();        for (int j = 0; j < 1000; j += 2)        {            list.add(j);        }        for (int j = 0; j < 1000; j++)        {            if (j % 2 == 0)            {                assertTrue(list.contains(j));            }            else            {                assertTrue(!list.contains(j));            }        }    }    /**     * test the containsAll method     */    public void testContainsAll()    {        IntList list = new IntList();        assertTrue(list.containsAll(list));        for (int j = 0; j < 10; j++)        {            list.add(j);        }        IntList list2 = new IntList(list);        assertTrue(list2.containsAll(list));        assertTrue(list.containsAll(list2));        list2.add(10);        assertTrue(list2.containsAll(list));        assertTrue(!list.containsAll(list2));        list.add(11);        assertTrue(!list2.containsAll(list));        assertTrue(!list.containsAll(list2));    }    /**     * test the equals method     */    public void testEquals()    {        IntList list = new IntList();        assertEquals(list, list);        assertTrue(!list.equals(null));        IntList list2 = new IntList(200);        assertEquals(list, list2);        assertEquals(list2, list);        assertEquals(list.hashCode(), list2.hashCode());        list.add(0);        list.add(1);        list2.add(1);        list2.add(0);        assertTrue(!list.equals(list2));        list2.removeValue(1);        list2.add(1);        assertEquals(list, list2);        assertEquals(list2, list);        list2.add(2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -