package cgeo.geocaching.enumerations;
import static org.assertj.core.api.Java6Assertions.assertThat;
import java.util.Locale;
import junit.framework.TestCase;
public class CacheSizeTest extends TestCase {
public static void testOrder() {
assertThat(CacheSize.MICRO.comparable).isLessThan(CacheSize.SMALL.comparable);
assertThat(CacheSize.SMALL.comparable).isLessThan(CacheSize.REGULAR.comparable);
assertThat(CacheSize.REGULAR.comparable).isLessThan(CacheSize.LARGE.comparable);
}
public static void testGetById() {
assertThat(CacheSize.getById("")).isEqualTo(CacheSize.UNKNOWN);
assertThat(CacheSize.getById(null)).isEqualTo(CacheSize.UNKNOWN);
assertThat(CacheSize.getById("random garbage")).isEqualTo(CacheSize.UNKNOWN);
assertThat(CacheSize.getById("large")).isEqualTo(CacheSize.LARGE);
assertThat(CacheSize.getById("LARGE")).isEqualTo(CacheSize.LARGE);
}
public static void testGetByIdComplete() {
for (final CacheSize size : CacheSize.values()) {
assertThat(CacheSize.getById(size.id)).isEqualTo(size);
assertThat(CacheSize.getById(size.id.toLowerCase(Locale.US))).isEqualTo(size);
assertThat(CacheSize.getById(size.id.toUpperCase(Locale.US))).isEqualTo(size);
}
}
public static void testGetByIdNumeric() {
assertThat(CacheSize.getById("3")).isEqualTo(CacheSize.REGULAR);
assertThat(CacheSize.getById("-1")).isEqualTo(CacheSize.UNKNOWN);
}
public static void testGetByIdVeryLarge() throws Exception {
assertThat(CacheSize.getById("Very large")).isEqualTo(CacheSize.VERY_LARGE);
assertThat(CacheSize.getById("very_large")).as("size from website icon").isEqualTo(CacheSize.VERY_LARGE);
}
}