/* * Copyright 2002-2006,2009 The Apache Software Foundation. * * 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 com.opensymphony.xwork2.util.profiling; import junit.framework.TestCase; /** * * @author tm_jee * @version $Date$ $Id$ */ public class ProfilingTimerBeanTest extends TestCase { public void testAddChild() throws Exception { ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); ProfilingTimerBean bean1 = new ProfilingTimerBean("bean1"); ProfilingTimerBean bean2 = new ProfilingTimerBean("bean2"); ProfilingTimerBean bean3 = new ProfilingTimerBean("bean3"); ProfilingTimerBean bean4 = new ProfilingTimerBean("bean4"); ProfilingTimerBean bean5 = new ProfilingTimerBean("bean5"); ProfilingTimerBean bean6 = new ProfilingTimerBean("bean6"); ProfilingTimerBean bean7 = new ProfilingTimerBean("bean7"); ProfilingTimerBean bean8 = new ProfilingTimerBean("bean8"); /* bean0 * + bean1 * + bean2 * + bean3 * + bean4 * + bean5 * + bean6 * +bean7 * + bean8 */ bean0.addChild(bean1); bean0.addChild(bean3); bean0.addChild(bean8); bean1.addChild(bean2); bean3.addChild(bean4); bean3.addChild(bean7); bean4.addChild(bean5); bean5.addChild(bean6); // bean0 assertNull(bean0.getParent()); assertEquals(bean0.children.size(), 3); assertTrue(bean0.children.contains(bean1)); assertTrue(bean0.children.contains(bean3)); assertTrue(bean0.children.contains(bean8)); // bean1 assertEquals(bean1.getParent(), bean0); assertEquals(bean1.children.size(), 1); assertTrue(bean1.children.contains(bean2)); // bean2 assertEquals(bean2.getParent(), bean1); assertEquals(bean2.children.size(), 0); // bean3 assertEquals(bean3.getParent(), bean0); assertEquals(bean3.children.size(), 2); assertTrue(bean3.children.contains(bean4)); assertTrue(bean3.children.contains(bean7)); // bean4 assertEquals(bean4.getParent(), bean3); assertEquals(bean4.children.size(), 1); assertTrue(bean4.children.contains(bean5)); // bean5 assertEquals(bean5.getParent(), bean4); assertEquals(bean5.children.size(), 1); assertTrue(bean5.children.contains(bean6)); // bean6 assertEquals(bean6.getParent(), bean5); assertEquals(bean6.children.size(), 0); // bean7 assertEquals(bean7.getParent(), bean3); assertEquals(bean7.children.size(), 0); // bean8 assertEquals(bean8.getParent(), bean0); assertEquals(bean8.children.size(), 0); } public void testTime() throws Exception { ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); bean0.setStartTime(); Thread.sleep(1050); bean0.setEndTime(); assertTrue(bean0.totalTime >= 1000); } public void testPrint() throws Exception { ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); bean0.setStartTime(); Thread.sleep(1050); bean0.setEndTime(); assertEquals(bean0.getPrintable(2000), ""); assertTrue(bean0.getPrintable(500).length() > 0); } }