@Test
public void testProcessSequential() throws Exception {
final DummyFileSetCheck check = new DummyFileSetCheck();
check.configure(new DefaultConfiguration("filesetcheck"));
check.setFileExtensions("tmp");
final File firstFile = new File("inputAbstractFileSetCheck.tmp");
final SortedSet<LocalizedMessage> firstFileMessages =
check.process(firstFile, new FileText(firstFile, Collections.emptyList()));
assertEquals("Invalid message", "File should not be empty.",
firstFileMessages.first().getMessage());
final Field field = AbstractFileSetCheck.class.getDeclaredField("MESSAGE_COLLECTOR");
field.setAccessible(true);
@SuppressWarnings("unchecked")
final SortedSet<LocalizedMessage> internalMessages =
((ThreadLocal<SortedSet<LocalizedMessage>>) field.get(null)).get();
assertTrue("Internal message should be empty, but was not", internalMessages.isEmpty());
final File secondFile = new File("inputAbstractFileSetCheck.txt");
final List<String> lines = Arrays.asList("key=value", "ext=tmp");
final SortedSet<LocalizedMessage> secondFileMessages =
check.process(secondFile, new FileText(secondFile, lines));
assertTrue("Message should be empty, but was not", secondFileMessages.isEmpty());
}