diff --git a/compiler-java/test/src/com/redhat/ceylon/compiler/java/test/model/ModelLoaderTest.java b/compiler-java/test/src/com/redhat/ceylon/compiler/java/test/model/ModelLoaderTest.java index 9e511160057..228a17c2139 100755 --- a/compiler-java/test/src/com/redhat/ceylon/compiler/java/test/model/ModelLoaderTest.java +++ b/compiler-java/test/src/com/redhat/ceylon/compiler/java/test/model/ModelLoaderTest.java @@ -26,12 +26,15 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.TreeSet; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; @@ -370,11 +373,20 @@ protected void compareAnnotations(Declaration validDeclaration, Declaration mode if(validDeclaration instanceof Setter) return; String name = validDeclaration.getQualifiedNameString(); - List validAnnotations = validDeclaration.getAnnotations(); - List modelAnnotations = modelDeclaration.getAnnotations(); + Comparator cmp = new Comparator() { + public int compare(Annotation a, Annotation b) { + return a.getName().compareTo(b.getName()); + } + }; + Set validAnnotations = new TreeSet(cmp); + validAnnotations.addAll(validDeclaration.getAnnotations()); + Set modelAnnotations = new TreeSet(cmp); + modelAnnotations.addAll(modelDeclaration.getAnnotations()); Assert.assertEquals(name+" [annotation count]", validAnnotations.size(), modelAnnotations.size()); - for(int i=0;i validIter = validAnnotations.iterator(); + Iterator modelIter = modelAnnotations.iterator(); + while(validIter.hasNext() || modelIter.hasNext()){ + compareAnnotation(name, validIter.next(), modelIter.next()); } }