@Test public void typesShouldOrderDescendingWithinDeletions() { final EntityMessage[] messages = { createUpdateMessage( 1 ), createDeletionMessage( 1 ), createDeletionMessage( 3 ), createDeletionMessage( 2 ), createDeletionMessage( 4 ) }; final List<EntityMessage> sortedMessages = EntityMessageSorter.sort( Arrays.asList( messages ) ); assertEquals( sortedMessages.get( 0 ).getTypeId(), 4 ); assertEquals( sortedMessages.get( 1 ).getTypeId(), 3 ); assertEquals( sortedMessages.get( 2 ).getTypeId(), 2 ); assertEquals( sortedMessages.get( 3 ).getTypeId(), 1 ); assertUpdate( sortedMessages.get( 4 ) ); }
@Nonnull public static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ) { final ArrayList<EntityMessage> sortedMessages = new ArrayList<>( messages ); sortedMessages.sort( COMPARATOR ); return sortedMessages; }
EntityMessageSorter implements Comparator<EntityMessage> { @Nonnull public static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ) { final ArrayList<EntityMessage> sortedMessages = new ArrayList<>( messages ); sortedMessages.sort( COMPARATOR ); return sortedMessages; } }
EntityMessageSorter implements Comparator<EntityMessage> { @Nonnull public static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ) { final ArrayList<EntityMessage> sortedMessages = new ArrayList<>( messages ); sortedMessages.sort( COMPARATOR ); return sortedMessages; } private  EntityMessageSorter(); }
EntityMessageSorter implements Comparator<EntityMessage> { @Nonnull public static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ) { final ArrayList<EntityMessage> sortedMessages = new ArrayList<>( messages ); sortedMessages.sort( COMPARATOR ); return sortedMessages; } private  EntityMessageSorter(); @Nonnull static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ); @Override int compare( @Nonnull final EntityMessage o1, @Nonnull final EntityMessage o2 ); }
EntityMessageSorter implements Comparator<EntityMessage> { @Nonnull public static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ) { final ArrayList<EntityMessage> sortedMessages = new ArrayList<>( messages ); sortedMessages.sort( COMPARATOR ); return sortedMessages; } private  EntityMessageSorter(); @Nonnull static List<EntityMessage> sort( @Nonnull final Collection<EntityMessage> messages ); @Override int compare( @Nonnull final EntityMessage o1, @Nonnull final EntityMessage o2 ); static final EntityMessageSorter COMPARATOR; }