package org.openlegacy.designtime.analyzer; import org.junit.Test; import org.junit.runner.RunWith; import org.openlegacy.FieldFormatter; import org.openlegacy.designtime.terminal.analyzer.support.DefaultTerminalSnapshotsOrganizer; import org.openlegacy.designtime.terminal.analyzer.support.MostPopulatedSnapshotPickerStrategy; import org.openlegacy.terminal.TerminalSnapshot; import org.openlegacy.terminal.TerminalSnapshotsLoader; import org.openlegacy.terminal.support.SimpleTerminalPosition; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.Collection; import java.util.List; import java.util.Set; import javax.inject.Inject; import junit.framework.Assert; @ContextConfiguration("/test-designtime-context.xml") @RunWith(SpringJUnit4ClassRunner.class) public class SnapshotsSorterTest { @Inject private DefaultTerminalSnapshotsOrganizer snapshotsOrganizer; @Inject private TerminalSnapshotsLoader snapshotsLoader; @Inject private FieldFormatter fieldFormatter; @Test public void testSortByContent() { snapshotsOrganizer.clear(); String mockPath = getClass().getResource("mock").getFile(); List<TerminalSnapshot> snapshots = snapshotsLoader.loadSnapshots(mockPath); snapshotsOrganizer.add(snapshots); Collection<Set<TerminalSnapshot>> groups = snapshotsOrganizer.getGroups(); Assert.assertEquals(1, groups.size()); Collection<TerminalSnapshot> representingSnapshots = snapshotsOrganizer.getGroupsRepresenters(new MostPopulatedSnapshotPickerStrategy( fieldFormatter)); Assert.assertEquals(1, representingSnapshots.size()); findMatch(representingSnapshots.iterator().next(), "AABBCC"); } private static void findMatch(TerminalSnapshot terminalSnapshot, String string) { terminalSnapshot.getField(SimpleTerminalPosition.newInstance(1, 13)).getValue().equals(string); } }