JAL-653 getStrand javadoc/refactor/test
[jalview.git] / test / jalview / datamodel / SequenceFeatureTest.java
1 package jalview.datamodel;
2
3 import static org.testng.AssertJUnit.assertEquals;
4 import static org.testng.AssertJUnit.assertNull;
5 import static org.testng.AssertJUnit.assertSame;
6
7 import org.testng.annotations.Test;
8
9 public class SequenceFeatureTest
10 {
11   @Test(groups = { "Functional" })
12   public void testCopyConstructor()
13   {
14     SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33,
15             12.5f, "group");
16     sf1.setValue("STRAND", "+");
17     sf1.setValue("Note", "Testing");
18     Integer count = new Integer(7);
19     sf1.setValue("Count", count);
20
21     SequenceFeature sf2 = new SequenceFeature(sf1);
22     assertEquals("type", sf2.getType());
23     assertEquals("desc", sf2.getDescription());
24     assertEquals(22, sf2.getBegin());
25     assertEquals(33, sf2.getEnd());
26     assertEquals("+", sf2.getValue("STRAND"));
27     assertEquals("Testing", sf2.getValue("Note"));
28     // shallow clone of otherDetails map - contains the same object values!
29     assertSame(count, sf2.getValue("Count"));
30   }
31
32   /**
33    * Tests for retrieving a 'miscellaneous details' property value, with or
34    * without a supplied default
35    */
36   @Test(groups = { "Functional" })
37   public void testGetValue()
38   {
39     SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33,
40             12.5f, "group");
41     sf1.setValue("STRAND", "+");
42     assertEquals("+", sf1.getValue("STRAND"));
43     assertNull(sf1.getValue("strand")); // case-sensitive
44     assertEquals(".", sf1.getValue("unknown", "."));
45     Integer i = new Integer(27);
46     assertSame(i, sf1.getValue("Unknown", i));
47   }
48
49   /**
50    * Tests the method that returns 1 / -1 / 0 for strand "+" / "-" / other
51    */
52   @Test(groups = { "Functional" })
53   public void testGetStrand()
54   {
55     SequenceFeature sf = new SequenceFeature("type", "desc", 22, 33, 12.5f,
56             "group");
57     assertEquals(0, sf.getStrand());
58     sf.setValue("STRAND", "+");
59     assertEquals(1, sf.getStrand());
60     sf.setValue("STRAND", "-");
61     assertEquals(-1, sf.getStrand());
62     sf.setValue("STRAND", ".");
63     assertEquals(0, sf.getStrand());
64   }
65 }