JAL-2491 Unit test updates
[jalview.git] / test / jalview / viewmodel / ViewportRangesTest.java
index 2465c4d..4e15b80 100644 (file)
@@ -341,6 +341,16 @@ public class ViewportRangesTest {
     assertTrue(l.verify(0, emptylist));
     l.reset();
 
+    // check new value fired by event is corrected startres
+    vr.setStartEndRes(-1, 5);
+    assertTrue(l.verify(1, Arrays.asList("startres"), Arrays.asList(0)));
+    l.reset();
+
+    // check new value fired by event is corrected endres
+    vr.setStartEndRes(0, -1);
+    assertTrue(l.verify(1, Arrays.asList("endres"), Arrays.asList(0)));
+    l.reset();
+
     vr.setStartEndSeq(2, 15);
     assertTrue(l.verify(1, Arrays.asList("startseq")));
     l.reset();
@@ -349,6 +359,24 @@ public class ViewportRangesTest {
     assertTrue(l.verify(0, emptylist));
     l.reset();
 
+    vr.setStartEndRes(2, 2); // so seq and res values should be different, in
+                             // case of transposing in code
+    l.reset();
+
+    // check new value fired by event is corrected startseq
+    vr.setStartEndSeq(-1, 5);
+    assertTrue(l.verify(1, Arrays.asList("startseq"), Arrays.asList(0)));
+    l.reset();
+
+    // check new value fired by event is corrected endseq
+    vr.setStartEndSeq(0, -1);
+    assertTrue(l.verify(1, Arrays.asList("endseq"), Arrays.asList(0)));
+    l.reset();
+
+    // reset for later tests
+    vr.setStartEndSeq(2, 15);
+    l.reset();
+
     // test viewport height and width setting triggers event
     vr.setViewportHeight(10);
     assertTrue(l.verify(1, Arrays.asList("endseq")));
@@ -412,6 +440,8 @@ class MockPropChangeListener implements ViewportListenerI
 
   private List<String> events = new ArrayList<String>();
 
+  private List<Integer> newvalues = new ArrayList<Integer>();
+
   public MockPropChangeListener(ViewportRanges vr)
   {
     vr.addPropertyChangeListener(this);
@@ -422,6 +452,14 @@ class MockPropChangeListener implements ViewportListenerI
   {
     firecount++;
     events.add(evt.getPropertyName());
+    newvalues.add((Integer) evt.getNewValue());
+  }
+
+  public boolean verify(int count, List<String> eventslist,
+          List<Integer> valueslist)
+  {
+    return (count == firecount) && events.equals(eventslist)
+            && newvalues.equals(valueslist);
   }
 
   public boolean verify(int count, List<String> eventslist)
@@ -433,5 +471,6 @@ class MockPropChangeListener implements ViewportListenerI
   {
     firecount = 0;
     events.clear();
+    newvalues.clear();
   }
 }