package cgeo.geocaching.models;
import static org.assertj.core.api.Java6Assertions.assertThat;
import cgeo.geocaching.sorting.GeocodeComparator;
import android.support.annotation.NonNull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import junit.framework.TestCase;
public class GeocodeComparatorTest extends TestCase {
public void testSomething() {
final List<Geocache> caches = new ArrayList<>();
caches.add(createGeocache("GC1ABCD"));
caches.add(createGeocache("OCFBD3"));
caches.add(createGeocache("GC2345"));
caches.add(createGeocache(null));
caches.add(createGeocache("GC56EFG"));
caches.add(createGeocache("OC117B6"));
caches.add(createGeocache("GC77"));
Collections.sort(caches, new GeocodeComparator());
assertThat(caches.get(0).getGeocode()).isNull();
assertThat(caches.get(1).getGeocode()).isEqualTo("GC77");
assertThat(caches.get(2).getGeocode()).isEqualTo("GC2345");
assertThat(caches.get(3).getGeocode()).isEqualTo("GC1ABCD");
assertThat(caches.get(4).getGeocode()).isEqualTo("GC56EFG");
assertThat(caches.get(5).getGeocode()).isEqualTo("OCFBD3");
assertThat(caches.get(6).getGeocode()).isEqualTo("OC117B6");
}
@NonNull
private Geocache createGeocache(final String geocode) {
final Geocache geocache = new Geocache();
geocache.setGeocode(geocode);
return geocache;
}
}