package br.com.caelum.vraptor.serialization; import java.util.ArrayList; import java.util.Collections; import java.util.List; import br.com.caelum.vraptor.other.pack4ge.DumbSerialization; import junit.framework.Assert; import org.junit.Test; import br.com.caelum.vraptor.restfulie.serialization.RestfulSerialization; import br.com.caelum.vraptor.serialization.xstream.XStreamJSONSerialization; import br.com.caelum.vraptor.serialization.xstream.XStreamXMLSerialization; public class PackageComparatorTest { @Test public void shouldSortBasedOnPackageNamesLessPriorityToCaelumInitialList3rdPartyFirst() { List<Serialization> serializers = new ArrayList<Serialization>(); serializers.add(new DumbSerialization()); serializers.add(new XStreamXMLSerialization(null, null, null, null)); serializers.add(new XStreamJSONSerialization(null, null, null, null)); serializers.add(new HTMLSerialization(null, null)); serializers.add(new RestfulSerialization(null, null, null, null, null, null)); Collections.sort(serializers, new PackageComparator()); Assert.assertEquals("br.com.caelum.vraptor.other.pack4ge", serializers.get(0).getClass().getPackage().getName()); } @Test public void shouldSortBasedOnPackageNamesLessPriorityToCaelumInitialList3rdPartyLast() { List<Serialization> serializers = new ArrayList<Serialization>(); serializers.add(new XStreamXMLSerialization(null, null, null, null)); serializers.add(new XStreamJSONSerialization(null, null, null, null)); serializers.add(new HTMLSerialization(null, null)); serializers.add(new RestfulSerialization(null, null, null, null, null, null)); serializers.add(new DumbSerialization()); Collections.sort(serializers, new PackageComparator()); Assert.assertEquals("br.com.caelum.vraptor.other.pack4ge", serializers.get(0).getClass().getPackage().getName()); } @Test public void shouldSortBasedOnPackageNamesLessPriorityToCaelumMoreToRestfulieInitialList3rdPartyLast() { List<Serialization> serializers = new ArrayList<Serialization>(); serializers.add(new XStreamXMLSerialization(null, null, null, null)); serializers.add(new XStreamJSONSerialization(null, null, null, null)); serializers.add(new HTMLSerialization(null, null)); serializers.add(new RestfulSerialization(null, null, null, null, null, null)); serializers.add(new DumbSerialization()); Collections.sort(serializers, new PackageComparator()); Assert.assertEquals("br.com.caelum.vraptor.other.pack4ge", serializers.get(0).getClass().getPackage().getName()); Assert.assertEquals("br.com.caelum.vraptor.restfulie.serialization", serializers.get(1).getClass().getPackage().getName()); } }