JAL-653 JAL-1968 FeaturesFile now handles Jalview or GFF2 or GFF3
[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 }