From 3bac85bb23730052d706d3e368a31529697a13d5 Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 15 Mar 2017 13:54:48 +0100 Subject: [PATCH] added unique names test --- .../digital/analyse/ModelAnalyserTest.java | 29 +- .../resources/dig/analyze/analyzeTest.dig | 147 +++++++++ .../resources/dig/analyze/analyzeTestDFF.dig | 289 ++++++++++++++++++ .../resources/dig/analyze/analyzeTestJKFF.dig | 102 +++++++ .../resources/dig/analyze/analyzeTestTFF.dig | 84 +++++ .../resources/dig/analyze/uniqueNames.dig | 55 ++++ .../resources/dig/analyze/uniqueNames2.dig | 277 +++++++++++++++++ 7 files changed, 979 insertions(+), 4 deletions(-) create mode 100644 src/test/resources/dig/analyze/analyzeTest.dig create mode 100644 src/test/resources/dig/analyze/analyzeTestDFF.dig create mode 100644 src/test/resources/dig/analyze/analyzeTestJKFF.dig create mode 100644 src/test/resources/dig/analyze/analyzeTestTFF.dig create mode 100644 src/test/resources/dig/analyze/uniqueNames.dig create mode 100644 src/test/resources/dig/analyze/uniqueNames2.dig diff --git a/src/test/java/de/neemann/digital/analyse/ModelAnalyserTest.java b/src/test/java/de/neemann/digital/analyse/ModelAnalyserTest.java index 48ede886d..2270a307e 100644 --- a/src/test/java/de/neemann/digital/analyse/ModelAnalyserTest.java +++ b/src/test/java/de/neemann/digital/analyse/ModelAnalyserTest.java @@ -10,7 +10,7 @@ import junit.framework.TestCase; public class ModelAnalyserTest extends TestCase { public void testAnalyzer() throws Exception { - Model model = new ToBreakRunner("dig/analyzeTest.dig").getModel(); + Model model = new ToBreakRunner("dig/analyze/analyzeTest.dig").getModel(); TruthTable tt = new ModelAnalyser(model).analyse(); assertEquals(4, tt.getRows()); @@ -30,19 +30,19 @@ public class ModelAnalyserTest extends TestCase { } public void testAnalyzerDFF() throws Exception { - Model model = new ToBreakRunner("dig/analyzeTestDFF.dig").getModel(); + Model model = new ToBreakRunner("dig/analyze/analyzeTestDFF.dig").getModel(); TruthTable tt = new ModelAnalyser(model).analyse(); check2BitCounter(tt); } public void testAnalyzerJKFF() throws Exception { - Model model = new ToBreakRunner("dig/analyzeTestJKFF.dig", false).getModel(); + Model model = new ToBreakRunner("dig/analyze/analyzeTestJKFF.dig", false).getModel(); TruthTable tt = new ModelAnalyser(model).analyse(); check2BitCounter(tt); } public void testAnalyzerTFF() throws Exception { - Model model = new ToBreakRunner("dig/analyzeTestTFF.dig", false).getModel(); + Model model = new ToBreakRunner("dig/analyze/analyzeTestTFF.dig", false).getModel(); TruthTable tt = new ModelAnalyser(model).analyse(); check2BitCounter(tt); } @@ -70,4 +70,25 @@ public class ModelAnalyserTest extends TestCase { "1\t1\t0\t0\t\n", tt.toString()); } + public void testAnalyzerUniqueNames() throws Exception { + Model model = new ToBreakRunner("dig/analyze/uniqueNames.dig", false).getModel(); + try { + new ModelAnalyser(model); + fail(); + } catch (AnalyseException e) { + + } + } + + public void testAnalyzerUniqueNames2() throws Exception { + Model model = new ToBreakRunner("dig/analyze/uniqueNames2.dig", false).getModel(); + try { + new ModelAnalyser(model); + fail(); + } catch (AnalyseException e) { + + } + } + + } \ No newline at end of file diff --git a/src/test/resources/dig/analyze/analyzeTest.dig b/src/test/resources/dig/analyze/analyzeTest.dig new file mode 100644 index 000000000..a972c0f62 --- /dev/null +++ b/src/test/resources/dig/analyze/analyzeTest.dig @@ -0,0 +1,147 @@ + + + 1 + + + In + + + Label + $A$ + + + + 0 + + + In + + + Label + $B$ + + + + 0 + + + Out + + + Label + $Y$ + + + + 0 + + + Or + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/dig/analyze/analyzeTestDFF.dig b/src/test/resources/dig/analyze/analyzeTestDFF.dig new file mode 100644 index 000000000..df58354d5 --- /dev/null +++ b/src/test/resources/dig/analyze/analyzeTestDFF.dig @@ -0,0 +1,289 @@ + + + 1 + + + Tunnel + + + Inputs + 1 + + + NetName + Q_1n + + + + 0 + + + D_FF + + + Label + Q_1n + + + Inputs + 1 + + + + 0 + + + Or + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Tunnel + + + Inputs + 1 + + + NetName + Q_0n + + + + 0 + + + D_FF + + + Label + Q_0n + + + Inputs + 1 + + + + 0 + + + Tunnel + + + rotation + + + + NetName + Q_0n + + + + 1 + + + Not + + + rotation + + + + + 3 + + + Tunnel + + + rotation + + + + NetName + Q_1n + + + + 1 + + + Not + + + rotation + + + + + 3 + + + Clock + + + runRealTime + true + + + rotation + + + + Label + C + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/dig/analyze/analyzeTestJKFF.dig b/src/test/resources/dig/analyze/analyzeTestJKFF.dig new file mode 100644 index 000000000..2d526e577 --- /dev/null +++ b/src/test/resources/dig/analyze/analyzeTestJKFF.dig @@ -0,0 +1,102 @@ + + + 1 + + + JK_FF + + + Label + Q_1n + + + + 0 + + + JK_FF + + + Label + Q_0n + + + + 0 + + + Clock + + + 0 + + + Const + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/dig/analyze/analyzeTestTFF.dig b/src/test/resources/dig/analyze/analyzeTestTFF.dig new file mode 100644 index 000000000..3173d2a36 --- /dev/null +++ b/src/test/resources/dig/analyze/analyzeTestTFF.dig @@ -0,0 +1,84 @@ + + + 1 + + + JK_FF + + + Label + Q_1n + + + + 0 + + + Clock + + + 0 + + + T_FF + + + Label + Q_0n + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/dig/analyze/uniqueNames.dig b/src/test/resources/dig/analyze/uniqueNames.dig new file mode 100644 index 000000000..9456a3ce8 --- /dev/null +++ b/src/test/resources/dig/analyze/uniqueNames.dig @@ -0,0 +1,55 @@ + + + 1 + + + And + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + In + + + Label + A + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/dig/analyze/uniqueNames2.dig b/src/test/resources/dig/analyze/uniqueNames2.dig new file mode 100644 index 000000000..409d817af --- /dev/null +++ b/src/test/resources/dig/analyze/uniqueNames2.dig @@ -0,0 +1,277 @@ + + + 1 + + + Tunnel + + + Inputs + 1 + + + NetName + Q_1n + + + + + + D_FF + + + Label + Q_0n + + + Inputs + 1 + + + + + + Or + + + + + And + + + + + And + + + + + Tunnel + + + Inputs + 1 + + + NetName + Q_0n + + + + + + D_FF + + + Label + Q_0n + + + Inputs + 1 + + + + + + Tunnel + + + rotation + + + + NetName + Q_0n + + + + + + Not + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + Q_1n + + + + + + Not + + + rotation + + + + + + + Clock + + + runRealTime + true + + + rotation + + + + Label + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file