JAL-2808 tweak to use Iterable for set of matchers
[jalview.git] / test / jalview / util / matcher / KeyedMatcherSetTest.java
index b7ff006..3018cb6 100644 (file)
@@ -2,8 +2,10 @@ package jalview.util.matcher;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertSame;
 import static org.testng.Assert.assertTrue;
 
+import java.util.Iterator;
 import java.util.function.Function;
 
 import org.testng.annotations.Test;
@@ -121,4 +123,35 @@ public class KeyedMatcherSetTest
     kms.and(km);
     assertFalse(kms.isEmpty());
   }
+
+  @Test
+  public void testGetMatchers()
+  {
+    KeyedMatcherSetI kms = new KeyedMatcherSet();
+
+    /*
+     * empty iterable:
+     */
+    Iterator<KeyedMatcherI> iterator = kms.getMatchers().iterator();
+    assertFalse(iterator.hasNext());
+
+    /*
+     * one matcher:
+     */
+    KeyedMatcherI km1 = new KeyedMatcher("AF", Condition.GE, -2F);
+    kms.and(km1);
+    iterator = kms.getMatchers().iterator();
+    assertSame(km1, iterator.next());
+    assertFalse(iterator.hasNext());
+
+    /*
+     * two matchers:
+     */
+    KeyedMatcherI km2 = new KeyedMatcher("AF", Condition.LT, 8F);
+    kms.and(km2);
+    iterator = kms.getMatchers().iterator();
+    assertSame(km1, iterator.next());
+    assertSame(km2, iterator.next());
+    assertFalse(iterator.hasNext());
+  }
 }