X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSequenceGroupTest.java;h=622ebb9c3a5a6a3ff087c7ed1bb04d13b5127b16;hb=a0ccef9cc78fffa7be85f3b658a5768958a301ce;hp=b0af5c8721e7b7c0ff426aadfc2db9f3a6bafaa2;hpb=331cd27699e0303dd42fd01e293f5fae9445e125;p=jalview.git
diff --git a/test/jalview/datamodel/SequenceGroupTest.java b/test/jalview/datamodel/SequenceGroupTest.java
index b0af5c8..622ebb9 100644
--- a/test/jalview/datamodel/SequenceGroupTest.java
+++ b/test/jalview/datamodel/SequenceGroupTest.java
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.datamodel;
import static org.testng.Assert.assertEquals;
@@ -14,15 +34,17 @@ import jalview.schemes.NucleotideColourScheme;
import jalview.schemes.PIDColourScheme;
import java.awt.Color;
+import java.util.ArrayList;
import java.util.Collections;
-
-import junit.extensions.PA;
+import java.util.List;
import org.testng.annotations.Test;
+import junit.extensions.PA;
+
public class SequenceGroupTest
{
- @Test(groups={"Functional"})
+ @Test(groups = { "Functional" })
public void testAddSequence()
{
SequenceGroup sg = new SequenceGroup();
@@ -50,16 +72,16 @@ public class SequenceGroupTest
assertTrue(sg.getSequences().contains(seq3));
}
- @Test(groups={"Functional"})
+ @Test(groups = { "Functional" })
public void testAddOrRemove()
{
SequenceGroup sg = new SequenceGroup();
assertTrue(sg.getSequences().isEmpty());
-
+
SequenceI seq1 = new Sequence("seq1", "abc");
SequenceI seq2 = new Sequence("seq2", "abc");
SequenceI seq3 = new Sequence(seq1);
-
+
sg.addOrRemove(seq1, false);
assertEquals(sg.getSequences().size(), 1);
sg.addOrRemove(seq2, false);
@@ -74,7 +96,7 @@ public class SequenceGroupTest
assertFalse(sg.getSequences().contains(seq1));
}
- @Test(groups={"Functional"})
+ @Test(groups = { "Functional" })
public void testGetColourScheme()
{
SequenceGroup sg = new SequenceGroup();
@@ -89,7 +111,7 @@ public class SequenceGroupTest
assertSame(scheme, sg.getColourScheme());
}
- @Test(groups={"Functional"})
+ @Test(groups = { "Functional" })
public void testSetContext()
{
SequenceGroup sg1 = new SequenceGroup();
@@ -301,4 +323,36 @@ public class SequenceGroupTest
*/
assertNull(sg2.getContext());
}
+
+ @Test(groups = { "Functional" })
+ public void testConstructor_list()
+ {
+ SequenceI s1 = new Sequence("abcde", "fg");
+ SequenceI s2 = new Sequence("foo", "bar");
+ List seqs = new ArrayList();
+ seqs.add(s1);
+ seqs.add(s2);
+ SequenceGroup sg = new SequenceGroup(seqs);
+
+ /*
+ * verify sg has a copy of the original list
+ */
+ List sgList = sg.getSequences();
+ assertNotSame(sgList, seqs);
+ assertEquals(sgList, seqs);
+
+ /*
+ * add to sgList, original is unchanged
+ */
+ sg.addSequence(new Sequence("bar", "foo"), false);
+ assertEquals(sgList.size(), 3);
+ assertEquals(seqs.size(), 2);
+
+ /*
+ * delete from original, sgList is unchanged
+ */
+ seqs.remove(s1);
+ assertEquals(sgList.size(), 3);
+ assertEquals(seqs.size(), 1);
+ }
}