testnativeeventpool.java

来自「This is a resource based on j2me embedde」· Java 代码 · 共 150 行

JAVA
150
字号
/* * 	 * * Copyright  1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. *  * 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 version 2 for more details (a copy is * included at /legal/license.txt). *  * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA *  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. */package com.sun.midp.events;import com.sun.midp.i3test.*;/** * Unit tests for the NativeEventPool class. */public class TestNativeEventPool extends TestCase {    /**     * Tests putting multiple events into the pool.     */    void testMultiPut() {        final int NUM_EVENTS = 3;        assertTrue(NUM_EVENTS < NativeEventPool.DEFAULT_SIZE);        NativeEventPool pool = new NativeEventPool();        NativeEvent evts[] = new NativeEvent[NUM_EVENTS];        for (int i = 0; i < NUM_EVENTS; i++) {            evts[i] = new NativeEvent();            pool.putBack(evts[i]);        }        assertEquals(NUM_EVENTS, pool.eventsInPool);        for (int i = 0; i < NUM_EVENTS; i++) {            assertSame(evts[i], pool.eventStack[i]);        }    }    /**     * Tests filling up the event pool.     */    void testFillPool() {        NativeEventPool pool = new NativeEventPool();        for (int i = 0; i < NativeEventPool.DEFAULT_SIZE; i++) {            pool.putBack(new NativeEvent());        }        assertEquals(NativeEventPool.DEFAULT_SIZE, pool.eventsInPool);        pool.putBack(new NativeEvent());        assertEquals(NativeEventPool.DEFAULT_SIZE, pool.eventsInPool);    }    /**     * Tests that the event is cleared when it is returned to the pool.  This      * is at least as much a test of NativeEvent.clear() as it is of the      * NativeEventPool's clearing function.     */    void testClear() {        NativeEventPool pool = new NativeEventPool();        NativeEvent evt = new NativeEvent(83);        evt.intParam1 = 1;        evt.intParam2 = 2;        evt.intParam3 = 3;        evt.intParam4 = 4;        evt.stringParam1 = "one";        evt.stringParam2 = "two";        evt.stringParam3 = "three";        evt.stringParam4 = "four";        evt.stringParam5 = "five";        evt.stringParam6 = "six";        pool.putBack(evt);        assertEquals(0, evt.type);        assertEquals(0, evt.intParam1);        assertEquals(0, evt.intParam2);        assertEquals(0, evt.intParam3);        assertEquals(0, evt.intParam4);        assertEquals(null, evt.stringParam1);        assertEquals(null, evt.stringParam2);        assertEquals(null, evt.stringParam3);        assertEquals(null, evt.stringParam4);        assertEquals(null, evt.stringParam5);        assertEquals(null, evt.stringParam6);    }    /**     * Tests a simple get-put-get sequence.     */    void testGetPutGet() {        NativeEventPool pool = new NativeEventPool();        NativeEvent evt = pool.get();        assertEquals(0, pool.eventsInPool);        pool.putBack(evt);        assertEquals(1, pool.eventsInPool);        assertSame(evt, pool.eventStack[0]);        NativeEvent evt2 = pool.get();        assertSame(evt, evt2);        assertEquals(0, pool.eventsInPool);    }    /**     * Tests basic creation of a native event pool.     */    void testCreate() {        NativeEventPool pool = new NativeEventPool();        assertEquals(0, pool.eventsInPool);        assertNotNull(pool.eventStack);    }    /**     * Runs all tests.     */    public void runTests() throws Throwable {        declare("testCreate");        testCreate();        declare("testGetPutGet");        testGetPutGet();        declare("testClear");        testClear();        declare("testFillPool");        testFillPool();        declare("testMultiPut");        testMultiPut();    }}

⌨️ 快捷键说明

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