package org.cogroo.tools.checker.rules.util; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.cogroo.entities.Mistake; import org.cogroo.entities.impl.MistakeImpl; import org.junit.Test; import static org.junit.Assert.*; public class MistakeComparatorTest { @Test public void testSort() { int start = 0; int end = 10; List<Mistake> mistakes = new ArrayList<Mistake>(); mistakes.add(createMistake("11", 1000, start, end)); mistakes.add(createMistake("10", 1000, start, end)); mistakes.add(createMistake("15", 1000, start, end)); Collections.sort(mistakes, new MistakeComparator()); assertEquals("10", mistakes.get(0).getRuleIdentifier()); assertEquals("11", mistakes.get(1).getRuleIdentifier()); assertEquals("15", mistakes.get(2).getRuleIdentifier()); } @Test public void testSortXML() { int start = 0; int end = 10; List<Mistake> mistakes = new ArrayList<Mistake>(); mistakes.add(createMistake("xml:11", 1000, start, end)); mistakes.add(createMistake("xml:3", 1000, start, end)); mistakes.add(createMistake("xml:100", 1000, start, end)); Collections.sort(mistakes, new MistakeComparator()); assertEquals("xml:3", mistakes.get(0).getRuleIdentifier()); assertEquals("xml:11", mistakes.get(1).getRuleIdentifier()); assertEquals("xml:100", mistakes.get(2).getRuleIdentifier()); } @Test public void testPriority() { int start = 0; int end = 10; List<Mistake> mistakes = new ArrayList<Mistake>(); mistakes.add(createMistake("11", 150, start, end)); mistakes.add(createMistake("10", 50, start, end)); mistakes.add(createMistake("15", 100, start, end)); Collections.sort(mistakes, new MistakeComparator()); assertEquals("11", mistakes.get(0).getRuleIdentifier()); assertEquals("15", mistakes.get(1).getRuleIdentifier()); assertEquals("10", mistakes.get(2).getRuleIdentifier()); } private Mistake createMistake(String id, int priority, int start, int end) { String message = ""; String shortMessage = ""; return new MistakeImpl(id, priority, message, shortMessage, null, start, end, null, null); } }