/* * @(#)NamedBaseSuite.java 1.2 06/02/06 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package corba.timer ; import org.testng.TestNG ; import org.testng.Assert ; import org.testng.annotations.Test ; import org.testng.annotations.Configuration ; import org.testng.annotations.ExpectedExceptions ; import com.sun.corba.ee.spi.orbutil.newtimer.Controllable ; import com.sun.corba.ee.spi.orbutil.newtimer.LogEventHandler ; import com.sun.corba.ee.spi.orbutil.newtimer.Named ; import com.sun.corba.ee.spi.orbutil.newtimer.NamedBase ; import com.sun.corba.ee.spi.orbutil.newtimer.Statistics ; import com.sun.corba.ee.spi.orbutil.newtimer.StatsEventHandler ; import com.sun.corba.ee.spi.orbutil.newtimer.Timer ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerEvent ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerEventController ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerEventHandler ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerFactory ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerFactoryBuilder ; import com.sun.corba.ee.spi.orbutil.newtimer.TimerGroup ; // Test NamedBase public class NamedBaseSuite { private String name = "MyName" ; private TimerFactory factory ; private NamedTest nb1 ; private NamedTest nb2 ; private static class NamedTest extends NamedBase { public NamedTest( TimerFactory factory, String name ) { super( factory, name ) ; } public void finish( TimerFactory factory ) { setFactory( factory ) ; } } @Configuration( beforeTest = true ) public void setUp() { factory = TimerFactoryBuilder.make( "NTF", "No description" ) ; nb1 = new NamedTest( factory, name ) ; nb2 = new NamedTest( null, name ) ; } @Configuration( afterTest = true ) public void tearDown() { TimerFactoryBuilder.destroy( factory ) ; } @Test() public void name1() { Assert.assertEquals( name, nb1.name() ) ; } @Test() public void name2() { Assert.assertEquals( name, nb2.name() ) ; } @Test() public void factory1() { Assert.assertEquals( factory, nb1.factory() ) ; } @Test() @ExpectedExceptions( { IllegalStateException.class } ) public void factory2() { TimerFactory tf = nb2.factory() ; } @Test() public void equals() { Assert.assertEquals( nb1, nb2 ) ; } @Test() public void hashCode1() { Assert.assertEquals( nb1.hashCode(), name.hashCode() ) ; } @Test() public void hashCode2() { Assert.assertEquals( nb2.hashCode(), name.hashCode() ) ; } @Test() public void toString1() { Assert.assertEquals( factory.name() + ":" + name, nb1.toString() ) ; } @Test() @ExpectedExceptions( { IllegalStateException.class } ) public void toString2() { String ts = nb2.toString() ; } @Test() @ExpectedExceptions( { IllegalStateException.class } ) public void setFactory1() { nb1.finish( factory ) ; } @Test( dependsOnMethods = { "toString2", "factory2" } ) public void setFactory2() { nb2.finish( factory ) ; } @Test( dependsOnMethods = { "setFactory2" } ) public void factory2Post() { Assert.assertEquals( factory, nb2.factory() ) ; } @Test( dependsOnMethods = { "setFactory2" } ) public void toString2Post() { Assert.assertEquals( factory.name() + ":" + name, nb2.toString() ) ; } }