You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/22 08:13:03 UTC
svn commit: r719818 -
/maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java
Author: ogusakov
Date: Fri Nov 21 23:13:03 2008
New Revision: 719818
URL: http://svn.apache.org/viewvc?rev=719818&view=rev
Log:
optimized the test
Modified:
maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java
Modified: maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java?rev=719818&r1=719817&r2=719818&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java (original)
+++ maven/mercury/trunk/mercury-util/src/test/java/org/apache/maven/mercury/util/event/EventFrameworkTest.java Fri Nov 21 23:13:03 2008
@@ -33,93 +33,49 @@
{
es = Executors.newFixedThreadPool( THREAD_COUNT );
}
+
public void testListenAllEvents()
- throws InterruptedException
+ throws Exception
{
- em = new EventManager();
-
- // testing this one - receive all events
- listener = new Listener( null );
-
- em.register( listener );
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.localRepository, ""+i ) );
- }
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.remoteRepository, ""+i ) );
- }
-
- es.awaitTermination( 2, TimeUnit.SECONDS );
-
- assertEquals( THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, listener.localRepoCount );
- assertEquals( THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, listener.remoteRepoCount );
+ runTest( null, null, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT );
}
public void testListenMaskedListenerEvents()
- throws InterruptedException
+ throws Exception
{
- em = new EventManager();
-
- // test this - receive only local repo events
- listener = new Listener( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.localRepository) );
-
- em.register( listener );
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.localRepository, ""+i ) );
- }
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.remoteRepository, ""+i ) );
- }
-
- es.awaitTermination( 2, TimeUnit.SECONDS );
-
- assertEquals( THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, listener.localRepoCount );
- assertEquals( 0, listener.remoteRepoCount );
+ runTest( null
+ , new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.localRepository)
+ , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
+ , 0
+ );
}
public void testListenMaskedManagerEvents()
- throws InterruptedException
+ throws Exception
{
- // test this - propagate only remote repo events
- em = new EventManager( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.remoteRepository) );
-
- // listen to all
- listener = new Listener( null );
-
- em.register( listener );
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.localRepository, ""+i ) );
- }
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, MercuryEvent.EventTypeEnum.remoteRepository, ""+i ) );
- }
-
- es.awaitTermination( 2, TimeUnit.SECONDS );
-
- assertEquals( 0, listener.localRepoCount );
- assertEquals( THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, listener.remoteRepoCount );
+ runTest( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.remoteRepository)
+ , null
+ , 0
+ , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
+ );
}
public void testListenMismatchedMaskEvents()
- throws InterruptedException
+ throws Exception
+ {
+ runTest( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.remoteRepository)
+ , new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.localRepository)
+ , 0
+ , 0
+ );
+ }
+
+ private void runTest( MercuryEvent.EventMask emMask, MercuryEvent.EventMask listenerMask, int expectedLocal, int expectedRemote )
+ throws Exception
{
- // test this - propagate only remote repo events
- em = new EventManager( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.remoteRepository) );
+ em = new EventManager( emMask );
- // and this - listen only to local events
- listener = new Listener( new MercuryEvent.EventMask(MercuryEvent.EventTypeEnum.localRepository) );
+ listener = new Listener( listenerMask );
em.register( listener );
@@ -135,8 +91,8 @@
es.awaitTermination( 2, TimeUnit.SECONDS );
- assertEquals( 0, listener.localRepoCount );
- assertEquals( 0, listener.remoteRepoCount );
+ assertEquals( expectedLocal, listener.localRepoCount );
+ assertEquals( expectedRemote, listener.remoteRepoCount );
}
}