X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fjalview%2Fdatamodel%2FColumnSelectionTest.java;fp=test%2Fjalview%2Fdatamodel%2FColumnSelectionTest.java;h=2deb1a7685482302910f124825a59089becc6704;hb=c2d8f2308b066224de8e2a07e4d6b6f9720b8e88;hp=04af3ce8e20acca7726fce6044899f8ca4d70561;hpb=45694fc1af8ff3cad6cb50331577403fa670d502;p=jalview.git diff --git a/test/jalview/datamodel/ColumnSelectionTest.java b/test/jalview/datamodel/ColumnSelectionTest.java index 04af3ce..2deb1a7 100644 --- a/test/jalview/datamodel/ColumnSelectionTest.java +++ b/test/jalview/datamodel/ColumnSelectionTest.java @@ -22,6 +22,7 @@ package jalview.datamodel; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; +import static org.testng.AssertJUnit.assertNotSame; import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; @@ -66,6 +67,9 @@ public class ColumnSelectionTest // removing an element in the list removes it cs.removeElement(2); + // ...but not from the copy list! + assertEquals(2, sel.size()); + sel = cs.getSelected(); assertEquals(1, sel.size()); assertEquals(new Integer(5), sel.get(0)); } @@ -545,21 +549,32 @@ public class ColumnSelectionTest { cs.addElement(col); } - List selected = cs.getSelected(); - assertEquals(4, selected.size()); + + List selected1 = cs.getSelected(); + assertEquals(4, selected1.size()); + + /* + * getSelected returns a copy, verify the list + * is externally immutable + */ + selected1.clear(); + List selected2 = cs.getSelected(); + assertNotSame(selected1, selected2); + assertEquals(4, selected2.size()); int i = 0; for (int col : sel) { - assertEquals(col, selected.get(i++).intValue()); + assertEquals(col, selected2.get(i++).intValue()); } cs.removeElement(7); cs.addElement(1); cs.removeElement(4); - selected = cs.getSelected(); - assertEquals(3, selected.size()); - assertEquals(3, selected.get(0).intValue()); - assertEquals(21, selected.get(1).intValue()); - assertEquals(1, selected.get(2).intValue()); + + List selected3 = cs.getSelected(); + assertEquals(3, selected3.size()); + assertEquals(3, selected3.get(0).intValue()); + assertEquals(21, selected3.get(1).intValue()); + assertEquals(1, selected3.get(2).intValue()); } }