*/
package jalview.io;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import jalview.datamodel.Alignment;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
import java.util.HashMap;
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class StockholmFileTest
{
* - label for IO class used to write and read back in the data from
* f
*/
+
public static void testFileIOwithFormat(File f, String ioformat,
int naliannot, int nminseqann)
{
{
AppletFormatAdapter rf = new AppletFormatAdapter();
- Alignment al = rf.readFile(ff, AppletFormatAdapter.FILE,
+ AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE,
new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE));
assertNotNull("Couldn't read supplied alignment data.", al);
System.out.println("Output file in '" + ioformat + "':\n"
+ outputfile + "\n<<EOF\n");
// test for consistency in io
- Alignment al_input = new AppletFormatAdapter().readFile(outputfile,
+ AlignmentI al_input = new AppletFormatAdapter().readFile(outputfile,
AppletFormatAdapter.PASTE, ioformat);
assertNotNull("Couldn't parse reimported alignment data.", al_input);
"Identify routine could not recognise output generated by '"
+ ioformat + "' writer",
ioformat.equals(identifyoutput));
- testAlignmentEquivalence(al, al_input);
+ testAlignmentEquivalence(al, al_input, false);
int numaliannot = 0, numsqswithali = 0;
for (AlignmentAnnotation ala : al_input.getAlignmentAnnotation())
{
* @param al_input
* 'secondary' or generated alignment from some datapreserving
* transformation
+ * @param ignoreFeatures
+ * when true, differences in seuqence feature annotation are ignored.
*/
public static void testAlignmentEquivalence(AlignmentI al,
- AlignmentI al_input)
+ AlignmentI al_input, boolean ignoreFeatures)
{
assertNotNull("Original alignment was null", al);
assertNotNull("Generated alignment was null", al_input);
+ " are not equal", ss_original.equals(ss_new));
assertTrue(
- "Sequence Features were not equivalent",
- (seq_original[i].getSequenceFeatures() == null && seq_new[in]
+ "Sequence Features were not equivalent"
+ + (ignoreFeatures ? " ignoring." : ""),
+ ignoreFeatures
+ || (seq_original[i].getSequenceFeatures() == null && seq_new[in]
.getSequenceFeatures() == null)
|| (seq_original[i].getSequenceFeatures() != null && seq_new[in]
.getSequenceFeatures() != null));
an_new.displayCharacter.trim())
|| !("" + an_or.secondaryStructure).trim().equals(
("" + an_new.secondaryStructure).trim())
- || (an_or.description != an_new.description && (an_or.description == null
- || an_new.description == null || !an_or.description
- .equals(an_new.description))))
+ || (an_or.description != an_new.description && !((an_or.description == null && an_new.description
+ .trim().length() == 0)
+ || (an_new.description == null && an_or.description
+ .trim().length() == 0) || an_or.description
+ .trim().equals(an_new.description.trim()))))
{
System.err.println("Annotation Element Mismatch\nElement " + i
+ " in original: " + annot_or.annotations[i].toString()