|
7 | 7 | import org.testng.annotations.Test; |
8 | 8 |
|
9 | 9 | import java.io.File; |
| 10 | +import java.nio.file.Files; |
| 11 | +import java.nio.file.Paths; |
| 12 | +import java.util.Arrays; |
| 13 | +import java.util.List; |
10 | 14 |
|
11 | | -public class LocalTimerMealyDeserializationTest { |
| 15 | +public class LocalTimerMealyTests { |
| 16 | + |
| 17 | + @Test |
| 18 | + public void parseAndWriteDemoModel() { |
| 19 | + var demoResource = LocalTimerMealyTests.class.getResource("/demo_mmlt.dot"); |
| 20 | + var expResultPath = Paths.get(LocalTimerMealyTests.class.getResource("/demo_expected_serialized.dot").getPath()); |
| 21 | + var demoModel = LocalTimerMealyGraphvizParser.parseLocalTimerMealy(new File(demoResource.getFile()), "void", StringSymbolCombiner.getInstance()); |
| 22 | + |
| 23 | + |
| 24 | + StringBuilder sbOutput = new StringBuilder(); |
| 25 | + try { |
| 26 | + List<String> expected = Files.readAllLines(expResultPath).stream() |
| 27 | + .filter(l -> !l.isBlank() && !l.startsWith("//")) |
| 28 | + .map(String::trim) |
| 29 | + .toList(); |
| 30 | + |
| 31 | + GraphDOT.write(demoModel.transitionGraphView(true, true), sbOutput); |
| 32 | + var actualData = sbOutput.toString(); |
| 33 | + System.out.println(actualData); |
| 34 | + List<String> actual = Arrays.stream(actualData.split("\\n")) |
| 35 | + .filter(l -> !l.isBlank()) |
| 36 | + .map(String::trim) |
| 37 | + .toList(); |
| 38 | + |
| 39 | + Assert.assertEquals(expected, actual); |
| 40 | + } catch (Exception ex) { |
| 41 | + throw new AssertionError(); |
| 42 | + } |
| 43 | + } |
12 | 44 |
|
13 | 45 | @Test |
14 | 46 | public void parseSensorModel() { |
15 | 47 | // Load a model from file: |
16 | | - var resource = LocalTimerMealyDeserializationTest.class.getResource("/sensor_mmlt.dot"); |
| 48 | + var resource = LocalTimerMealyTests.class.getResource("/sensor_mmlt.dot"); |
17 | 49 |
|
18 | 50 | var dotAutomaton = LocalTimerMealyGraphvizParser.parseLocalTimerMealy(new File(resource.getFile()), "void", StringSymbolCombiner.getInstance()); |
19 | 51 |
|
|
0 commit comments