package edu.mayo.bior.cli.cmd;
import com.tinkerpop.pipes.util.Pipeline;
import edu.mayo.pipes.JSON.InjectIntoJsonPipe;
import edu.mayo.pipes.JSON.inject.Injector;
import edu.mayo.pipes.PrintPipe;
import edu.mayo.pipes.UNIX.CatPipe;
import edu.mayo.pipes.history.HistoryInPipe;
import edu.mayo.pipes.history.HistoryOutPipe;
import edu.mayo.pipes.util.metadata.Metadata;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
/**
* Created with IntelliJ IDEA.
* User: m102417
* Date: 7/24/13
* Time: 2:22 PM
* To change this template use File | Settings | File Templates.
*/
public class Tab2JSONCommandTest {
@Test
public void testParseConfigFile(){
Tab2JSONCommand t = new Tab2JSONCommand();
Injector[] injectors = t.parseConfigFile("src/test/resources/Tab2JSONFiles/example.config");
//System.out.println(injectors.length);
assertEquals(2, injectors.length);
}
public final List<String> out = Arrays.asList(
"##BIOR=<ID=\"bior.ToTJson\",Operation=\"bior_tab_to_json\",DataType=\"JSON\",ShortUniqueName=\"ToTJson\">",
"#gene\trsID\tbior.ToTJson",
"MRPL39\trs142513484\t{\"gene\":\"MRPL39\",\"rsID\":\"rs142513484\"}",
"MRPL39\trs200187839\t{\"gene\":\"MRPL39\",\"rsID\":\"rs200187839\"}",
"PANX2\trs191258266\t{\"gene\":\"PANX2\",\"rsID\":\"rs191258266\"}",
"PANX2\trs145036669\t{\"gene\":\"PANX2\",\"rsID\":\"rs145036669\"}",
"BRCA1\trs184237074\t{\"gene\":\"BRCA1\",\"rsID\":\"rs184237074\"}",
"BRCA1\trs189382442\t{\"gene\":\"BRCA1\",\"rsID\":\"rs189382442\"}",
"BRCA1\trs182218567\t{\"gene\":\"BRCA1\",\"rsID\":\"rs182218567\"}"
);
@Test
public void testConvertTab2JSON(){
Tab2JSONCommand t = new Tab2JSONCommand();
Metadata md = new Metadata("bior_tab_to_json");
Injector[] injectors = t.parseConfigFile("src/test/resources/Tab2JSONFiles/example.config");
InjectIntoJsonPipe inject = new InjectIntoJsonPipe(true, injectors);
Pipeline pipe = new Pipeline(
new CatPipe(),
new HistoryInPipe(md),
inject,
new HistoryOutPipe()
//new PrintPipe()
);
pipe.setStarts(Arrays.asList("src/test/resources/Tab2JSONFiles/example.tsv"));
for(int i = 0; out.size() > i; i++){
String s = (String) pipe.next();
assertEquals(out.get(i), s);
}
}
}