// Path: src/main/java/se/liu/imt/mi/snomedct/expression/tools/SNOMEDCTSignatureGenerator.java
// public class SNOMEDCTSignatureGenerator {
// 
// 	static Logger logger = Logger.getLogger(SNOMEDCTSignatureGenerator.class);
// 
// 	/**
// 	 * @param args
// 	 * @throws OWLException
// 	 */
// 	public static void main(String[] args)  {
// 		// create Options object
// 		Options options = new Options();
// 
// 		options.addOption("f", "format", true, "format of signature file, '|' or 'url'");
// 		
// 		CommandLineParser parser = new DefaultParser();
// 		CommandLine cmd = null;
// 		try {
// 			cmd = parser.parse(options, args);
// 		} catch (ParseException e) {
// 			e.printStackTrace();
// 			System.exit(1);
// 		}
// 		
// 		String format = cmd.getOptionValue("format", "url");
// 
// 		List<?> argList = (List<?>) cmd.getArgList();
// 		if (argList.size() < 1) {
// 			HelpFormatter f = new HelpFormatter();
// 			f.printHelp("SNOMEDCTTranslator", options);
// 			System.exit(2);
// 		}
// 
// 		// get input file name from argument list
// 		String inputFileName = (String) argList.get(0);
// 		// get output file name from argument list or create a new output file
// 		// name from the input file name
// 		String outputFileName;
// 		if (argList.size() < 2) {
// 			// separate out the extension (after last '.')
// 			String[] tokens = inputFileName.split("\\.(?=[^\\.]+$)");
// 			if (tokens.length >= 2)
// 				outputFileName = tokens[0] + "_signature.txt";
// 			else
// 				outputFileName = inputFileName + "_signature.txt";
// 		} else
// 			outputFileName = (String) argList.get(1);
// 
// 		try {
// 			InputStream is = new FileInputStream(inputFileName);
// 			ParseTree tree = SNOMEDCTParserUtil.parseFile(is);
// 			SignatureVisitor visitor = new SignatureVisitor();
// 			visitor.visit(tree);
// 			
// 			FileWriter fw = new FileWriter(outputFileName);
// 			for(String sctid : visitor.getSctidSet()) {
// 				if(format.equalsIgnoreCase("url"))
// 					fw.write("http://snomed.org/id/" + sctid + '\n');
// 				else if(format.equals("|"))
// 					fw.write(sctid + "|\n");
// 			}
// 			fw.flush();
// 			fw.close();
// 			
// 			
// 		} catch (FileNotFoundException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (ParseCancellationException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (ExpressionSyntaxError e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (IOException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		}
// 	}
// }


import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.semanticweb.owlapi.model.OWLException;
import se.liu.imt.mi.snomedct.expression.tools.SNOMEDCTSignatureGenerator;
package test;




public class TestSNOMEDCTSignatureGenerator {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testMain() {
// Path: src/main/java/se/liu/imt/mi/snomedct/expression/tools/SNOMEDCTSignatureGenerator.java
// public class SNOMEDCTSignatureGenerator {
// 
// 	static Logger logger = Logger.getLogger(SNOMEDCTSignatureGenerator.class);
// 
// 	/**
// 	 * @param args
// 	 * @throws OWLException
// 	 */
// 	public static void main(String[] args)  {
// 		// create Options object
// 		Options options = new Options();
// 
// 		options.addOption("f", "format", true, "format of signature file, '|' or 'url'");
// 		
// 		CommandLineParser parser = new DefaultParser();
// 		CommandLine cmd = null;
// 		try {
// 			cmd = parser.parse(options, args);
// 		} catch (ParseException e) {
// 			e.printStackTrace();
// 			System.exit(1);
// 		}
// 		
// 		String format = cmd.getOptionValue("format", "url");
// 
// 		List<?> argList = (List<?>) cmd.getArgList();
// 		if (argList.size() < 1) {
// 			HelpFormatter f = new HelpFormatter();
// 			f.printHelp("SNOMEDCTTranslator", options);
// 			System.exit(2);
// 		}
// 
// 		// get input file name from argument list
// 		String inputFileName = (String) argList.get(0);
// 		// get output file name from argument list or create a new output file
// 		// name from the input file name
// 		String outputFileName;
// 		if (argList.size() < 2) {
// 			// separate out the extension (after last '.')
// 			String[] tokens = inputFileName.split("\\.(?=[^\\.]+$)");
// 			if (tokens.length >= 2)
// 				outputFileName = tokens[0] + "_signature.txt";
// 			else
// 				outputFileName = inputFileName + "_signature.txt";
// 		} else
// 			outputFileName = (String) argList.get(1);
// 
// 		try {
// 			InputStream is = new FileInputStream(inputFileName);
// 			ParseTree tree = SNOMEDCTParserUtil.parseFile(is);
// 			SignatureVisitor visitor = new SignatureVisitor();
// 			visitor.visit(tree);
// 			
// 			FileWriter fw = new FileWriter(outputFileName);
// 			for(String sctid : visitor.getSctidSet()) {
// 				if(format.equalsIgnoreCase("url"))
// 					fw.write("http://snomed.org/id/" + sctid + '\n');
// 				else if(format.equals("|"))
// 					fw.write(sctid + "|\n");
// 			}
// 			fw.flush();
// 			fw.close();
// 			
// 			
// 		} catch (FileNotFoundException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (ParseCancellationException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (ExpressionSyntaxError e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		} catch (IOException e) {
// 			// TODO Auto-generated catch block
// 			e.printStackTrace();
// 		}
// 	}
// }


// Path: src/test/java/test/TestSNOMEDCTSignatureGenerator.java
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.semanticweb.owlapi.model.OWLException;
import se.liu.imt.mi.snomedct.expression.tools.SNOMEDCTSignatureGenerator;

package test;




public class TestSNOMEDCTSignatureGenerator {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testMain() {
		SNOMEDCTSignatureGenerator.main(new String[] {"-f", "|", "src/test/resources/example_expression.sct"});