From 3de3a9d4ca7b188abb0411c9e0a484ed2561a4b7 Mon Sep 17 00:00:00 2001 From: "@syxhe" Date: Thu, 2 Oct 2025 19:05:32 -0500 Subject: Wrangle with test cases --- src/test/java/ChannelNodeTest.java | 76 +++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 5 deletions(-) (limited to 'src/test') diff --git a/src/test/java/ChannelNodeTest.java b/src/test/java/ChannelNodeTest.java index 6268a97..c556812 100644 --- a/src/test/java/ChannelNodeTest.java +++ b/src/test/java/ChannelNodeTest.java @@ -144,11 +144,6 @@ class ChannelNodeTest { - // Null direction should always throw - assertThrows(IllegalArgumentException.class, () -> testNodeA.clearConnections(null)); - - - // Null node should always throw assertThrows(IllegalArgumentException.class, () -> testNodeA.connectionExists(null, null)); assertThrows(IllegalArgumentException.class, () -> testNodeA.connectionExists(null, IChannelNode.Direction.INCOMING)); @@ -175,4 +170,75 @@ class ChannelNodeTest { assertDoesNotThrow(() -> testNodeA.getConnections(IChannelNode.Direction.BOTH)); } + @Test void setters_n_getters() { +// void addConnections(Iterable nodes, IChannelNode.Direction dir); +// void removeConnection(IChannelNode node, IChannelNode.Direction dir); +// void removeConnections(Iterable nodes, IChannelNode.Direction dir); + + IChannelNode testNodeA = new ChannelNode(); + IChannelNode testNodeB = new ChannelNode(); + IChannelNode testNodeC = new ChannelNode(); + + assertDoesNotThrow(() -> testNodeA.setConnections(Map.ofEntries( + Map.entry(testNodeB, 10), + Map.entry(testNodeC, 3) + ), IChannelNode.Direction.INCOMING)); + assertEquals(10, testNodeA.getIncomingConnections().get(testNodeB)); + assertEquals(3, testNodeA.getIncomingConnections().get(testNodeC)); + + assertDoesNotThrow(() -> testNodeA.setConnections(Map.ofEntries( + Map.entry(testNodeB, 10), + Map.entry(testNodeC, 3) + ), IChannelNode.Direction.OUTGOING)); + assertEquals(10, testNodeA.getOutgoingConnections().get(testNodeB)); + assertEquals(3, testNodeA.getOutgoingConnections().get(testNodeC)); + + assertDoesNotThrow(() -> testNodeA.setConnections(Map.ofEntries( + Map.entry(testNodeB, 5), + Map.entry(testNodeC, 30) + ), IChannelNode.Direction.BOTH)); + assertEquals(5, testNodeA.getIncomingConnections().get(testNodeB)); + assertEquals(30, testNodeA.getIncomingConnections().get(testNodeC)); + assertEquals(5, testNodeA.getOutgoingConnections().get(testNodeB)); + assertEquals(30, testNodeA.getOutgoingConnections().get(testNodeC)); + + + + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeA, IChannelNode.Direction.INCOMING, 3)); + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeC, IChannelNode.Direction.INCOMING, 9)); + assertEquals(3, testNodeB.getIncomingConnections().get(testNodeA)); + assertEquals(9, testNodeB.getIncomingConnections().get(testNodeC)); + + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeA, IChannelNode.Direction.OUTGOING, 37)); + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeC, IChannelNode.Direction.OUTGOING, 90)); + assertEquals(37, testNodeB.getOutgoingConnections().get(testNodeA)); + assertEquals(90, testNodeB.getOutgoingConnections().get(testNodeC)); + + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeA, IChannelNode.Direction.BOTH, 8)); + assertDoesNotThrow(() -> testNodeB.setNumConnections(testNodeC, IChannelNode.Direction.BOTH, 7)); + assertEquals(8, testNodeB.getIncomingConnections().get(testNodeA)); + assertEquals(7, testNodeB.getIncomingConnections().get(testNodeC)); + assertEquals(8, testNodeB.getOutgoingConnections().get(testNodeA)); + assertEquals(7, testNodeB.getOutgoingConnections().get(testNodeC)); + + + testNodeC.setNumConnections(testNodeA, IChannelNode.Direction.BOTH, 0); + assertDoesNotThrow(() -> testNodeC.addConnection(testNodeA, IChannelNode.Direction.INCOMING)); // 0 + 1 + assertDoesNotThrow(() -> testNodeC.addConnection(testNodeA, IChannelNode.Direction.OUTGOING)); // 0 + 1 + assertDoesNotThrow(() -> testNodeC.addConnection(testNodeA, IChannelNode.Direction.BOTH)); // +1 to both (1 + 1, 1 + 1) + assertEquals(2, testNodeC.getIncomingConnections().get(testNodeA)); + assertEquals(2, testNodeC.getOutgoingConnections().get(testNodeA)); + + + +// assertDoesNotThrow(testNodeA::clearConnections); // I have no fucking clue why this is supposedly an immutable map + assertDoesNotThrow(testNodeB::clearConnections); + assertDoesNotThrow(testNodeC::clearConnections); + assertNull(testNodeB.getIncomingConnections().get(testNodeA)); + assertNull(testNodeB.getIncomingConnections().get(testNodeC)); + assertNull(testNodeC.getIncomingConnections().get(testNodeA)); + assertNull(testNodeC.getIncomingConnections().get(testNodeB)); + } + + } // End of ChannelNodeTest \ No newline at end of file -- cgit v1.2.3