gatk-3.8/java/test/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollectionUnitT...

123 lines
3.9 KiB
Java
Raw Normal View History

package org.broadinstitute.sting.gatk.arguments;
import org.broadinstitute.sting.BaseTest;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import static org.testng.Assert.fail;
import java.io.File;
import java.util.*;
import net.sf.samtools.SAMFileReader;
/*
* Copyright (c) 2009 The Broad Institute
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/**
* @author aaron
* @version 1.0
* @date May 7, 2009
* <p/>
* Class GATKArgumentCollection
* <p/>
* Test out the argument collection class
*/
public class GATKArgumentCollectionUnitTest extends BaseTest {
// our collection of arguments
private GATKArgumentCollection collect;
// where to write our xml file
private String xmlFileLoc = "testfile.xml";
/** setup our test */
@BeforeMethod
public void setup() {
collect = new GATKArgumentCollection();
}
/** destroy the temp file */
@AfterMethod
public void takedown() {
File f = new File(xmlFileLoc);
if (f.exists()) {
f.delete();
}
}
private void setupCollection() {
// parameters and their defaults
Map<String, String> wArgs = new HashMap<String, String>();
wArgs.put("wArgType1", "Arg1");
wArgs.put("wArgType2", "Arg2");
wArgs.put("wArgType3", "Arg3");
collect.walkerArgs = wArgs;
List<File> input = new ArrayList<File>();
input.add(new File("test.file"));
collect.samFiles = input;
collect.strictnessLevel = SAMFileReader.ValidationStringency.STRICT;
collect.referenceFile = new File("referenceFile".toLowerCase());
collect.DBSNPFile = "DBSNPFile".toLowerCase();
collect.unsafe = ValidationExclusion.TYPE.ALL;
collect.downsampleFraction = null;
collect.downsampleCoverage = null;
collect.intervals = new ArrayList<String>();
collect.intervals.add("intervals".toLowerCase());
collect.excludeIntervals = new ArrayList<String>();
collect.numberOfThreads = 1;
// make some rod bindings up
ArrayList<String> fakeBindings = new ArrayList<String>();
fakeBindings.add("Bind1");
fakeBindings.add("Bind2");
fakeBindings.add("Bind3");
collect.RODBindings = fakeBindings;
}
/** test the output of an XML file in the arg collection */
@Test
public void testOutput() {
setupCollection();
GATKArgumentCollection.marshal(collect, xmlFileLoc);
GATKArgumentCollection collection = GATKArgumentCollection.unmarshal(xmlFileLoc);
if (!collect.equals(collection)) {
fail("Collections not equal");
}
}
/** test the output of an XML file in the arg collection */
@Test
public void testInput() {
setupCollection();
GATKArgumentCollection.marshal(collect, xmlFileLoc);
}
}