@@ -0,0 +1,1663 @@
+package jfdi.test.logic.commands;%0A%0Aimport jfdi.logic.commands.InvalidCommand;%0Aimport jfdi.logic.events.InvalidCommandEvent;%0Aimport jfdi.parser.Constants;%0Aimport org.junit.Test;%0A%0Aimport static org.junit.Assert.*;%0Aimport static org.mockito.Mockito.*;%0A%0A/**%0A * @author Liu Xinan%0A */%0Apublic class InvalidCommandTest extends CommonCommandTest %7B%0A%0A    @Test%0A    public void testBuilder() throws Exception %7B%0A        InvalidCommand command1 = new InvalidCommand.Builder()%0A            .setInputString(%22never gonna give%22)%0A            .setCommandType(null)%0A            .build();%0A%0A        assertEquals(%22never gonna give%22, command1.getInputString());%0A        assertNull(command1.getCommandType());%0A%0A        InvalidCommand command2 = new InvalidCommand.Builder()%0A            .setInputString(%22list processing%22)%0A            .setCommandType(Constants.CommandType.LIST)%0A            .build();%0A%0A        assertEquals(%22list processing%22, command2.getInputString());%0A        assertEquals(Constants.CommandType.LIST, command2.getCommandType());%0A    %7D%0A%0A    @Test%0A    public void execute() throws Exception %7B%0A        InvalidCommand command = new InvalidCommand.Builder()%0A            .setInputString(%22never gonna give%22)%0A            .setCommandType(null)%0A            .build();%0A%0A        command.execute();%0A%0A        verify(eventBus).post(any(InvalidCommandEvent.class));%0A    %7D%0A%0A    @Test%0A    public void undo() throws Exception %7B%0A        InvalidCommand command = new InvalidCommand.Builder()%0A            .setInputString(%22list processing%22)%0A            .setCommandType(Constants.CommandType.LIST)%0A            .build();%0A%0A        thrown.expect(AssertionError.class);%0A        command.undo();%0A    %7D%0A%0A%7D%0A

Add test for `InvalidCommand`