}\r
\r
@Test\r
- void fusionTest()\r
+ void fusionTest1()\r
{\r
t.reset();\r
Wire a = new Wire(t, 3, 1), b = new Wire(t, 2, 1), c = new Wire(t, 3, 1), out = new Wire(t, 8, 1);\r
rB.feedSignals(Bit.ONE, Bit.ZERO);\r
ReadWriteEnd rC = c.createReadWriteEnd();\r
rC.feedSignals(Bit.ONE, Bit.ZERO, Bit.ONE);\r
+\r
t.executeAll();\r
assertBitArrayEquals(out.getValues(), Bit.ZERO, Bit.ONE, Bit.ZERO, Bit.ONE, Bit.ZERO, Bit.ONE, Bit.ZERO, Bit.ONE);\r
out.createReadWriteEnd().feedSignals(Bit.ONE, Bit.ZERO, Bit.ONE, Bit.ZERO, Bit.ONE, Bit.ZERO, Bit.ONE, Bit.ZERO);\r
assertBitArrayEquals(rC.getValues(), Bit.ZERO, Bit.ONE, Bit.ZERO);\r
}\r
\r
+ @Test\r
+ void fusionTest2()\r
+ {\r
+ t.reset();\r
+ Wire a = new Wire(t, 3, 1), b = new Wire(t, 3, 1);\r
+ Wire.fuse(a, b);\r
+ ReadWriteEnd rw = a.createReadWriteEnd();\r
+ t.executeAll();\r
+ assertBitArrayEquals(b.getValues(), Bit.U, Bit.U, Bit.U);\r
+\r
+ rw.feedSignals(Bit.ONE, Bit.U, Bit.Z);\r
+ t.executeAll();\r
+ assertBitArrayEquals(b.getValues(), Bit.ONE, Bit.U, Bit.Z);\r
+ }\r
+\r
+ @Test\r
+ void fusionTest3()\r
+ {\r
+ t.reset();\r
+ Wire a = new Wire(t, 3, 1), b = new Wire(t, 3, 1);\r
+ a.createReadWriteEnd().feedSignals(Bit.Z, Bit.U, Bit.X);\r
+ t.executeAll();\r
+ Wire.fuse(a, b);\r
+ t.executeAll();\r
+ assertBitArrayEquals(b.getValues(), Bit.Z, Bit.U, Bit.X);\r
+ }\r
+\r
+// @Test\r
+// void connectorTest()\r
+// {\r
+// t.reset();\r
+// Wire a = new Wire(t, 3, 1), b = new Wire(t, 3, 1);\r
+// new Connector(t, a.createReadWriteEnd(), b.createReadWriteEnd()).connect();\r
+//// b.createReadWriteEnd();\r
+// a.createReadWriteEnd();\r
+// t.executeAll();\r
+// assertBitArrayEquals(b.getValues(), Bit.U, Bit.U, Bit.U);\r
+// }\r
+\r
@Test\r
void triStateBufferTest()\r
{\r
\r
TestBitDisplay test = new TestBitDisplay(t, c.createReadOnlyEnd());\r
TestBitDisplay test2 = new TestBitDisplay(t, a.createReadOnlyEnd());\r
- LongConsumer print = time -> System.out.format("Time %2d\n a: %s\n b: %s\n c: %s\n", time, a, b, c);\r
+ LongConsumer print = time -> System.out.format("Time %2d\n a: %s\n b: %s\n c: %s\n", time, a, b, c);\r
\r
cI.feedSignals(Bit.ONE);\r
test.assertAfterSimulationIs(print, Bit.ONE);\r