From e9134efad695b9c4d1d530cff2f71269a8b8f4dc Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 22 Nov 2020 19:22:12 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Add=20more=20tests=20for=20ambiguou?= =?UTF-8?q?s=20command=20registration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also clean up after leaving the Command Tree in an invalid state during tests --- .../commandframework/CommandTreeTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cloud-core/src/test/java/cloud/commandframework/CommandTreeTest.java b/cloud-core/src/test/java/cloud/commandframework/CommandTreeTest.java index c636b666..73477d42 100644 --- a/cloud-core/src/test/java/cloud/commandframework/CommandTreeTest.java +++ b/cloud-core/src/test/java/cloud/commandframework/CommandTreeTest.java @@ -291,12 +291,32 @@ class CommandTreeTest { @Test void testAmbiguousNodes() { + // Call newTree(); after each time we leave the Tree in an invalid state manager.command(manager.commandBuilder("ambiguous") .argument(StringArgument.of("string")) ); Assertions.assertThrows(AmbiguousNodeException.class, () -> manager.command(manager.commandBuilder("ambiguous") .argument(IntegerArgument.of("integer")))); + newTree(); + + manager.command(manager.commandBuilder("ambiguous") + .argument(StringArgument.of("string")) + ); + Assertions.assertThrows(AmbiguousNodeException.class, () -> + manager.command(manager.commandBuilder("ambiguous") + .literal("literal"))); + newTree(); + + manager.command(manager.commandBuilder("ambiguous") + .literal("literal") + ); + manager.command(manager.commandBuilder("ambiguous") + .literal("literal2")); + Assertions.assertThrows(AmbiguousNodeException.class, () -> + manager.command(manager.commandBuilder("ambiguous") + .argument(IntegerArgument.of("integer")))); + newTree(); } @Test