JAL-1499 refactored processGeneOrDomain, expanded test
[jalview.git] / test / jalview / io / MegaFileTest.java
index 2766610..1f8e4d6 100644 (file)
@@ -177,7 +177,7 @@ public class MegaFileTest
     {
       assertEquals(
               "Unexpected exception message",
-              "Parse error: mix of interleaved and noninterleaved detected, at line: ABCFEDHIJ",
+              "Parse error: interleaved was true but now seems to be false, at line: ABCFEDHIJ",
               e.getMessage());
     }
 
@@ -623,14 +623,22 @@ public class MegaFileTest
     "!Domain=Exon1 Gene=Adh Property=Coding CodonStart=1;\n" +
     "#U455   GGGGGG\n" + 
     "#CPZANT AAAAAA\n\n" +
-    "!Domain=Intron1 Gene=Adh;\n" +
+    "!Domain=Intron1 Property=Intron Gene=Adh;\n" +
     "#U455   tttttt\n" + 
     "#CPZANT cccccc\n\n" +
-    "!Domain=Exon2 Gene=Adh Property=Coding CodonStart=1;\n" +
+    "!Domain=Exon2 Gene=Adh Property=Exon CodonStart=1;\n" +
     "#U455   aaaaaa\n" + 
     "#CPZANT gggggg\n\n" +
     // explicit end of Exon2, implicit end of Adh:
     "!Domain=Exon2 Property=domainend;\n" +
+    "!Domain=Intron1 Gene=Opsin Property=Noncoding;\n" +
+    "#U455   GGGGGG\n" + 
+    "#CPZANT AAAAAA\n\n" +
+    // end Opsin, start MEF2A
+    "!Domain=Exon1 Gene=MEF2A Property=Coding CodonStart=1;\n" +
+    "#U455   tttttt\n" + 
+    "#CPZANT cccccc\n\n" +
+    // end MEF2A
     "!Domain=BindingSite;\n" +
     "#U455   CCCCCC\n" + 
     "#CPZANT TTTTTT\n\n";
@@ -642,10 +650,10 @@ public class MegaFileTest
     assertEquals("Expected two sequences", 2, seqs.size());
     // check sequence data
     assertEquals("First sequence data wrong",
-            "CCCCCCGGGGGGttttttaaaaaaCCCCCC", seqs.get(0)
+            "CCCCCCGGGGGGttttttaaaaaaGGGGGGttttttCCCCCC", seqs.get(0)
             .getSequenceAsString());
     assertEquals("Second sequence data wrong",
-            "TTTTTTAAAAAAccccccggggggTTTTTT", seqs.get(1)
+            "TTTTTTAAAAAAccccccggggggAAAAAAccccccTTTTTT", seqs.get(1)
             .getSequenceAsString());
 
     /*
@@ -656,17 +664,17 @@ public class MegaFileTest
       SequenceFeature[] sfs = seq.getSequenceFeatures();
       // features are added in the order in which their end is found
       // (Domain before Gene when they end together)
-      assertEquals(5, sfs.length);
+      assertEquals(9, sfs.length);
       // TODO settle which way round type/description go!
-      assertEquals("Exon1 (Adh)", sfs[0].type);
+      assertEquals("Exon1 (Adh Coding)", sfs[0].type);
       assertEquals("Domain", sfs[0].description);
       assertEquals(7, sfs[0].begin);
       assertEquals(12, sfs[0].end);
-      assertEquals("Intron1 (Adh)", sfs[1].type);
+      assertEquals("Intron1 (Adh Noncoding)", sfs[1].type);
       assertEquals("Domain", sfs[1].description);
       assertEquals(13, sfs[1].begin);
       assertEquals(18, sfs[1].end);
-      assertEquals("Exon2 (Adh)", sfs[2].type);
+      assertEquals("Exon2 (Adh Coding)", sfs[2].type);
       assertEquals("Domain", sfs[2].description);
       assertEquals(19, sfs[2].begin);
       assertEquals(24, sfs[2].end);
@@ -674,10 +682,26 @@ public class MegaFileTest
       assertEquals("Gene", sfs[3].description);
       assertEquals(7, sfs[3].begin);
       assertEquals(24, sfs[3].end);
-      assertEquals("BindingSite", sfs[4].type);
+      assertEquals("Intron1 (Opsin Noncoding)", sfs[4].type);
       assertEquals("Domain", sfs[4].description);
       assertEquals(25, sfs[4].begin);
       assertEquals(30, sfs[4].end);
+      assertEquals("Opsin", sfs[5].type);
+      assertEquals("Gene", sfs[5].description);
+      assertEquals(25, sfs[5].begin);
+      assertEquals(30, sfs[5].end);
+      assertEquals("Exon1 (MEF2A Coding)", sfs[6].type);
+      assertEquals("Domain", sfs[6].description);
+      assertEquals(31, sfs[6].begin);
+      assertEquals(36, sfs[6].end);
+      assertEquals("MEF2A", sfs[7].type);
+      assertEquals("Gene", sfs[7].description);
+      assertEquals(31, sfs[7].begin);
+      assertEquals(36, sfs[7].end);
+      assertEquals("BindingSite", sfs[8].type);
+      assertEquals("Domain", sfs[8].description);
+      assertEquals(37, sfs[8].begin);
+      assertEquals(42, sfs[8].end);
     }
   }
 }