Преглед изворни кода

- compatibility with JDK7

- uncommented threading tests
Ranides Atterwim пре 11 година
родитељ
комит
e911425e9f

+ 1 - 0
nb-configuration.xml

@@ -14,5 +14,6 @@ That way multiple projects can share the same settings (useful for formatting ru
 Any value defined here will override the pom.xml file value but is only applicable to the current project.
 -->
         <netbeans.compile.on.save>all</netbeans.compile.on.save>
+        <netbeans.hint.jdkPlatform>JDK_1.7</netbeans.hint.jdkPlatform>
     </properties>
 </project-shared-configuration>

+ 0 - 38
src/main/java/net/ranides/assira/reflection/GenericFactory.java

@@ -7,7 +7,6 @@
 package net.ranides.assira.reflection;
 
 import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedType;
 import java.lang.reflect.GenericDeclaration;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
@@ -31,8 +30,6 @@ public final class GenericFactory {
     
     public static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0];
     
-    public static final AnnotatedType[] EMPTY_ANNOTATION_TYPES = new AnnotatedType[0];
-    
     private GenericFactory() {
         // utility class
     }
@@ -332,20 +329,6 @@ public final class GenericFactory {
                 public TypeVariable<?>[] getTypeParameters() {
                     return new TypeVariable<?>[]{ GTVariable.this };
                 }
-                @Override
-                public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
-                    return null;
-                }
-
-                @Override
-                public Annotation[] getAnnotations() {
-                    return EMPTY_ANNOTATIONS;
-                }
-
-                @Override
-                public Annotation[] getDeclaredAnnotations() {
-                    return EMPTY_ANNOTATIONS;
-                }
             };
         }
 
@@ -353,27 +336,6 @@ public final class GenericFactory {
         public String getName() {
             return name;
         }
-
-        @Override
-        public AnnotatedType[] getAnnotatedBounds() {
-            return EMPTY_ANNOTATION_TYPES; //NOPMD
-        }
-
-        @Override
-        public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
-            return null;
-        }
-
-        @Override
-        public Annotation[] getAnnotations() {
-            return EMPTY_ANNOTATIONS; //NOPMD
-        }
-
-        @Override
-        public Annotation[] getDeclaredAnnotations() {
-            return EMPTY_ANNOTATIONS; //NOPMD
-        }
-        
     }
     
     

+ 0 - 2
src/test/java/net/ranides/assira/asm/AsmifierTest.java

@@ -6,7 +6,6 @@
  */
 package net.ranides.assira.asm;
 
-import edu.umd.cs.findbugs.annotations.SuppressWarnings;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -14,7 +13,6 @@ import net.ranides.assira.collection.ArrayUtils;
 import net.ranides.assira.trace.LoggerUtils;
 import org.junit.Test;
 import static org.junit.Assert.*;
-import org.junit.Ignore;
 
 /**
  *

+ 20 - 7
src/test/java/net/ranides/assira/events/EventJoinTest.java

@@ -11,6 +11,7 @@ import java.util.List;
 import net.ranides.assira.collection.ArrayUtils;
 import net.ranides.assira.collection.SetUtils;
 import net.ranides.assira.collection.map.LazyMap;
+import net.ranides.assira.time.TimeUtils;
 import static org.junit.Assert.*;
 import org.junit.Test;
 
@@ -71,23 +72,35 @@ public class EventJoinTest {
         main.addEventListener(CoreEvent.Stop.class, hits.new HitListener<CoreEvent.Stop>("exit") );
 
         main.signalEvent(new TWriteEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new TWriteEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new TReadEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new TReadEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new TReadEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new Event(){});
+        TimeUtils.sleep(50);
         main.signalEvent(new TReadEvent());
+        TimeUtils.sleep(50);
         main.signalEvent(new TReadEvent());
-
+        TimeUtils.sleep(50);
+        
         main.stop();
+        TimeUtils.sleep(50);
 
         assertEquals(SetUtils.asHashSet("global", "io", "write", "read", "exit", "shutdown"), hits.keySet());
-        assertEquals(ArrayUtils.asList(0,3,6,7,10,12,14), hits.get("global"));
-        assertEquals(ArrayUtils.asList(1,4, 8), hits.get("io"));
-        assertEquals(ArrayUtils.asList(2), hits.get("write"));
-        assertEquals(ArrayUtils.asList(5, 9), hits.get("read"));
-        assertEquals(ArrayUtils.asList(11), hits.get("exit"));
-        assertEquals(ArrayUtils.asList(13), hits.get("shutdown"));
+        
+        assertEquals(ArrayUtils.asList(0, 3, 6, 9, 12, 15, 16, 19, 22, 24, 26), hits.get("global"));
+        assertEquals(ArrayUtils.asList(1, 4, 7, 10, 13, 17, 20), hits.get("io"));
+        assertEquals(ArrayUtils.asList(2, 5), hits.get("write"));
+        assertEquals(ArrayUtils.asList(8, 11, 14, 18, 21), hits.get("read"));
+        assertEquals(ArrayUtils.asList(23), hits.get("exit"));
+        assertEquals(ArrayUtils.asList(25), hits.get("shutdown"));
+        
+        
 
     }
 

+ 24 - 25
src/test/java/net/ranides/assira/events/EventProactorTest.java

@@ -8,12 +8,12 @@ package net.ranides.assira.events;
 
 import java.util.LinkedList;
 import java.util.List;
+import net.ranides.assira.collection.ArrayUtils;
 import net.ranides.assira.collection.SetUtils;
 import net.ranides.assira.collection.map.LazyMap;
 import net.ranides.assira.time.TimeUtils;
 import net.ranides.assira.trace.LoggerUtils;
 import static org.junit.Assert.*;
-import org.junit.Ignore;
 import org.junit.Test;
 
 
@@ -29,7 +29,7 @@ public class EventProactorTest {
     }
 
     private static class HitMap extends LazyMap<String, List<Integer>>  {
-        private int counter;
+        private int counter = 0;
 
         @Override
         public List<Integer> apply(String source) {
@@ -47,15 +47,14 @@ public class EventProactorTest {
             @Override
             public void handleEvent(T event) {
                 // "handleEvent" can be invoked by many threads - have to be thread-safe
-                synchronized(this) {
-                    get( name ).add(counter++);
+                synchronized(HitMap.this) {
+                    get(name).add(counter++);
                 }
             }
         }
 
     };
 
-    @Ignore("unstable")
     @Test
     public void testPropagation() {
         // @todo (assira) EventProactor: unstable test of 
@@ -101,26 +100,26 @@ public class EventProactorTest {
         unknown.dispose();
     }
 
-//    @Test
-//    public void testStop() {
-//        HitMap hits = new HitMap();
-//        EventReactor unknown = EventReactor.newInstance("unknown", 32, 1000);
-//        EventReactor main = EventReactor.newInstance("name", 32, 1000);
-//
-//        main.addEventListener(Event.class, hits.new HitListener<Event>("global") );
-//        main.addEventListener(CoreEvent.Shutdown.class, hits.new HitListener<CoreEvent.Shutdown>("shutdown") );
-//        main.addEventListener(CoreEvent.Stop.class, hits.new HitListener<CoreEvent.Stop>("exit") );
-//
-//        main.signalEvent(CoreEvent.stop(unknown) );
-//        main.stop();
-//
-//        assertEquals(SetUtils.asHashSet("global", "exit", "shutdown"), hits.keySet());
-//        assertEquals(ArrayUtils.asList(0,2,4,6), hits.get("global"));
-//        assertEquals(ArrayUtils.asList(1,3), hits.get("exit"));
-//        assertEquals(ArrayUtils.asList(5), hits.get("shutdown"));
-//
-//        unknown.dispose();
-//    }
+    @Test
+    public void testStop() {
+        HitMap hits = new HitMap();
+        EventReactor unknown = EventReactor.newInstance("unknown", 32, 1000);
+        EventReactor main = EventReactor.newInstance("name", 32, 1000);
+
+        main.addEventListener(Event.class, hits.new HitListener<Event>("global") );
+        main.addEventListener(CoreEvent.Shutdown.class, hits.new HitListener<CoreEvent.Shutdown>("shutdown") );
+        main.addEventListener(CoreEvent.Stop.class, hits.new HitListener<CoreEvent.Stop>("exit") );
+
+        main.signalEvent(CoreEvent.stop(unknown) );
+        main.stop();
+
+        assertEquals(SetUtils.asHashSet("global", "exit", "shutdown"), hits.keySet());
+        assertEquals(ArrayUtils.asList(0,2,4,6), hits.get("global"));
+        assertEquals(ArrayUtils.asList(1,3), hits.get("exit"));
+        assertEquals(ArrayUtils.asList(5), hits.get("shutdown"));
+
+        unknown.dispose();
+    }
 
     @SuppressWarnings("PMD")
     class IOEvent implements Event { }

+ 1 - 1
src/test/java/net/ranides/assira/math/PVNumberTest.java

@@ -192,7 +192,7 @@ import org.junit.Test;
 
 
 
-    @Ignore
+    @Ignore("manual slow")
     @Test
     public void testPerf() throws Exception {
         Method mbi = ICounter.class.getMethod("increment");