public void testRegisterCorrectCommand() { CommandFactory.registerCommand("test", Test.class); Assert.assertEquals(1, CommandFactory.getCommands().size()); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("test")); CommandFactory.unregisterCommand(Test.class, "test"); Assert.assertEquals(0, CommandFactory.getCommands().size()); }
public void testRegisterMultipleCommandsForType() { CommandFactory.registerCommand("test", Test.class); CommandFactory.registerCommand("bla", Test.class); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("test")); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("bla")); Assert.assertEquals(2, CommandFactory.getCommands().size()); CommandFactory.unregisterCommand(Test.class, null); Assert.assertEquals(0, CommandFactory.getCommands().size()); }
public void testUnregisterOneAmongMultipleSameType() { CommandFactory.registerCommand("test", Test.class); CommandFactory.registerCommand("bla", Test.class); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("test")); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("bla")); Assert.assertEquals(2, CommandFactory.getCommands().size()); CommandFactory.unregisterCommand(Test.class, "test"); Assert.assertEquals(1, CommandFactory.getCommands().size()); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("bla")); CommandFactory.unregisterCommand(Test.class, null); }
public void testUnregisterMultipleAmongOtherTypes() { Command anotherType = new Command() { @Override public void execute(String source, String line) {} @Override public String help() { return null; } }; CommandFactory.registerCommand("test", Test.class); CommandFactory.registerCommand("foo", anotherType.getClass()); CommandFactory.registerCommand("bla", Test.class); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("test")); Assert.assertEquals(Test.class, CommandFactory.getCommands().get("bla")); Assert.assertNotNull(CommandFactory.getCommands().get("foo")); Assert.assertEquals(3, CommandFactory.getCommands().size()); CommandFactory.unregisterCommand(Test.class, null); Assert.assertEquals(1, CommandFactory.getCommands().size()); Assert.assertNotSame(Test.class, CommandFactory.getCommands().get("foo")); CommandFactory.unregisterCommand(anotherType.getClass(), null); }
public void testCommandsAvailable() { Assert.assertNotNull(CommandFactory.getCommands()); }