timeouttest.java

来自「是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤」· Java 代码 · 共 132 行

JAVA
132
字号
//========================================================================//$Id: TimeoutTest.java,v 1.1 2005/10/05 14:09:42 janb Exp $//Copyright 2004-2005 Mort Bay Consulting Pty. Ltd.//------------------------------------------------------------------------//Licensed under the Apache License, Version 2.0 (the "License");//you may not use this file except in compliance with the License.//You may obtain a copy of the License at //http://www.apache.org/licenses/LICENSE-2.0//Unless required by applicable law or agreed to in writing, software//distributed under the License is distributed on an "AS IS" BASIS,//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.//See the License for the specific language governing permissions and//limitations under the License.//========================================================================package org.mortbay.thread;import junit.framework.TestCase;public class TimeoutTest extends TestCase{    Object lock = new Object();    Timeout timeout = new Timeout(null);    Timeout.Task[] tasks;    /* ------------------------------------------------------------ */    /*      * @see junit.framework.TestCase#setUp()     */    protected void setUp() throws Exception    {        super.setUp();                timeout=new Timeout(lock);        tasks= new Timeout.Task[10];                 for (int i=0;i<tasks.length;i++)        {            tasks[i]=new Timeout.Task();            timeout.setNow(1000+i*100);            timeout.schedule(tasks[i]);        }        timeout.setNow(100);    }    /* ------------------------------------------------------------ */    /*      * @see junit.framework.TestCase#tearDown()     */    protected void tearDown() throws Exception    {        super.tearDown();    }        /* ------------------------------------------------------------ */    public void testExpiry()    {        timeout.setDuration(200);        timeout.setNow(1500);        timeout.tick();                for (int i=0;i<tasks.length;i++)        {            assertEquals("isExpired "+i,i<4, tasks[i].isExpired());        }    }    /* ------------------------------------------------------------ */    public void testCancel()    {        timeout.setDuration(200);        timeout.setNow(1700);        for (int i=0;i<tasks.length;i++)            if (i%2==1)                tasks[i].cancel();        timeout.tick();                for (int i=0;i<tasks.length;i++)        {            assertEquals("isExpired "+i,i%2==0 && i<6, tasks[i].isExpired());        }    }    /* ------------------------------------------------------------ */    public void testTouch()    {        timeout.setDuration(200);        timeout.setNow(1350);        timeout.schedule(tasks[2]);                timeout.setNow(1500);        timeout.tick();        for (int i=0;i<tasks.length;i++)        {            assertEquals("isExpired "+i,i!=2 && i<4, tasks[i].isExpired());        }                timeout.setNow(1550);        timeout.tick();        for (int i=0;i<tasks.length;i++)        {            assertEquals("isExpired "+i, i<4, tasks[i].isExpired());        }      }    /* ------------------------------------------------------------ */    public void testDelay()    {        Timeout.Task task = new Timeout.Task();        timeout.setNow(1100);        timeout.schedule(task, 300);        timeout.setDuration(200);                timeout.setNow(1300);        timeout.tick();        assertEquals("delay", false, task.isExpired());                timeout.setNow(1500);        timeout.tick();        assertEquals("delay", false, task.isExpired());                timeout.setNow(1700);        timeout.tick();        assertEquals("delay", true, task.isExpired());    }}

⌨️ 快捷键说明

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