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 );
   }
 }