X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSequenceGroupTest.java;h=e0f4eba94e973d1ff046cca905d0ea9245183692;hb=ef2b8e4a4d6db3bb95506b523c27dfd3231b12f3;hp=f6d40282f1af8c2ad02e234f41264d12eaf71899;hpb=136c0793b90b72b928c4d77dc109dd5c644e00d3;p=jalview.git diff --git a/test/jalview/datamodel/SequenceGroupTest.java b/test/jalview/datamodel/SequenceGroupTest.java index f6d4028..e0f4eba 100644 --- a/test/jalview/datamodel/SequenceGroupTest.java +++ b/test/jalview/datamodel/SequenceGroupTest.java @@ -9,15 +9,19 @@ import static org.testng.Assert.assertSame; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; +import jalview.analysis.Conservation; import jalview.schemes.NucleotideColourScheme; import jalview.schemes.PIDColourScheme; import java.awt.Color; - -import junit.extensions.PA; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import org.testng.annotations.Test; +import junit.extensions.PA; + public class SequenceGroupTest { @Test(groups={"Functional"}) @@ -232,10 +236,15 @@ public class SequenceGroupTest sg.setName("g1"); sg.setDescription("desc"); sg.setColourScheme(new PIDColourScheme()); + Conservation cons = new Conservation("Cons", 2, + Collections. emptyList(), 3, 12); + PA.setValue(cons, "consSequence", new Sequence("s", "abc")); + sg.getGroupColourScheme().setConservation(cons); + sg.getGroupColourScheme().setConsensus(new Profiles(null)); sg.setDisplayBoxes(false); sg.setDisplayText(false); sg.setColourText(true); - sg.isDefined = true; + PA.setValue(sg, "isDefined", true); sg.setShowNonconserved(true); sg.setOutlineColour(Color.red); sg.setIdColour(Color.blue); @@ -255,6 +264,10 @@ public class SequenceGroupTest assertEquals(sg2.getDescription(), sg.getDescription()); assertNotSame(sg2.getGroupColourScheme(), sg.getGroupColourScheme()); assertSame(sg2.getColourScheme(), sg.getColourScheme()); + assertSame(PA.getValue(sg2.getGroupColourScheme(), "consensus"), + PA.getValue(sg.getGroupColourScheme(), "consensus")); + assertSame(PA.getValue(sg2.getGroupColourScheme(), "conservation"), + PA.getValue(sg.getGroupColourScheme(), "conservation")); assertEquals(sg2.getDisplayBoxes(), sg.getDisplayBoxes()); assertEquals(sg2.getDisplayText(), sg.getDisplayText()); assertEquals(sg2.getColourText(), sg.getColourText()); @@ -290,4 +303,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); + } }