View Javadoc
1   package de.fhdw.wtf.dsl.scanner.test;
2   
3   import static org.junit.Assert.assertEquals;
4   
5   import java.io.IOException;
6   
7   import org.junit.Test;
8   
9   import de.fhdw.wtf.common.stream.ScannerInputStream;
10  import de.fhdw.wtf.common.stream.SimpleTokenStream;
11  import de.fhdw.wtf.common.stream.TokenStream;
12  import de.fhdw.wtf.common.token.CommentTextToken;
13  import de.fhdw.wtf.common.token.Position;
14  import de.fhdw.wtf.dsl.scanner.common.Scanner;
15  import de.fhdw.wtf.dsl.scanner.modelScanner.ModelDslScanner;
16  import de.fhdw.wtf.testutil.TestUtil;
17  
18  /**
19   * Test cases for Scanner working on physical model files.
20   * 
21   */
22  public class ScannerFileTest {
23  	
24  	private static final String PATH_TO_TEST_FILE_DIR = "src/test/java/de/fhdw/wtf/dsl/scanner/test/files/";
25  	private static final String MODEL_SUFFIX = "model";
26  	
27  	@Test
28  	public void modelFileMultiLine() throws IOException {
29  		final ScannerInputStream input =
30  				TestUtil.readFileToScannerStream(PATH_TO_TEST_FILE_DIR + "MultiLineComment" + '.' + MODEL_SUFFIX);
31  		final TokenStream output = new VerboseTokenStream(SimpleTokenStream.create());
32  		final Scanner scanner = ModelDslScanner.create();
33  		scanner.scan(input, output);
34  		assertEquals(CommentTextToken.create("#A" + "\r\n" + "B#", Position.create("", 0 + 1, 0 + 1, 0)), output.next());
35  	}
36  	
37  	// TODO Asserts (Bug #768)
38  	public void modelFilePerson() throws IOException {
39  		final ScannerInputStream input =
40  				TestUtil.readFileToScannerStream(PATH_TO_TEST_FILE_DIR + "Person" + '.' + MODEL_SUFFIX);
41  		final VerboseTokenStream output = new VerboseTokenStream(SimpleTokenStream.create());
42  		final Scanner scanner = ModelDslScanner.create();
43  		scanner.scan(input, output);
44  		output.printStreamContent();
45  	}
46  }