package com.sleekbyte.tailor.functional; import com.sleekbyte.tailor.common.Messages; import com.sleekbyte.tailor.common.Rules; import com.sleekbyte.tailor.common.Severity; import com.sleekbyte.tailor.output.Printer; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; /** * Functional tests for multiple imports rule. */ @RunWith(MockitoJUnitRunner.class) public class MultipleImportTest extends RuleTest { @Override protected void addAllExpectedMsgs() { addExpectedMsg(1, Severity.WARNING, Messages.IMPORTS + Messages.MULTIPLE_IMPORTS); addExpectedMsg(1, 18, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(1, 39, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(3, Severity.WARNING, Messages.IMPORTS + Messages.MULTIPLE_IMPORTS); addExpectedMsg(3, 16, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(3, 30, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(3, 41, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(3, 62, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(3, 75, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(4, Severity.WARNING, Messages.IMPORTS + Messages.MULTIPLE_IMPORTS); addExpectedMsg(4, 14, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(4, 32, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(7, 11, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(9, Severity.WARNING, Messages.IMPORTS + Messages.MULTIPLE_IMPORTS); addExpectedMsg(9, 18, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(14, 1, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(18, Severity.WARNING, Messages.IMPORTS + Messages.MULTIPLE_IMPORTS); addExpectedMsg(18, 1, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); addExpectedMsg(18, 14, Severity.WARNING, Messages.STATEMENTS + Messages.SEMICOLON); } private void addExpectedMsg(int line, int column, Severity severity, String msg) { this.expectedMessages.add(Printer.genOutputStringForTest(Rules.TERMINATING_SEMICOLON, inputFile.getName(), line, column, severity, msg)); } private void addExpectedMsg(int line, Severity severity, String msg) { this.expectedMessages.add(Printer.genOutputStringForTest(Rules.MULTIPLE_IMPORTS, inputFile.getName(), line, severity, msg)); } }