package cgeo.geocaching.connector.trackable; import static org.assertj.core.api.Java6Assertions.assertThat; import cgeo.geocaching.models.Trackable; import junit.framework.TestCase; public class GeolutinsConnectorTest extends TestCase { public static void testCanHandleTrackable() { assertThat(getConnector().canHandleTrackable("GL000001")).isFalse(); assertThat(getConnector().canHandleTrackable("GL00001")).isTrue(); assertThat(getConnector().canHandleTrackable("GL00ABC")).isTrue(); assertThat(getConnector().canHandleTrackable("GL00GHI")).isFalse(); assertThat(getConnector().canHandleTrackable("GL0001")).isFalse(); assertThat(getConnector().canHandleTrackable("SWABCD")).isFalse(); assertThat(getConnector().canHandleTrackable("GK82A2")).isFalse(); assertThat(getConnector().canHandleTrackable("TB1234")).isFalse(); assertThat(getConnector().canHandleTrackable("UNKNOWN")).isFalse(); assertThat(getConnector().canHandleTrackable("12345678-12")).isFalse(); assertThat(getConnector().canHandleTrackable("12345678-12")).isFalse(); assertThat(getConnector().canHandleTrackable("12345678-123")).isTrue(); assertThat(getConnector().canHandleTrackable("123456-1234")).isFalse(); assertThat(getConnector().canHandleTrackable("1234567-1234")).isTrue(); assertThat(getConnector().canHandleTrackable("12345671234")).isFalse(); assertThat(getConnector().canHandleTrackable("1234567123")).isFalse(); assertThat(getConnector().canHandleTrackable("12345678-1234")).isTrue(); assertThat(getConnector().canHandleTrackable("123456789-1234")).isFalse(); assertThat(getConnector().canHandleTrackable("ABCDEFGH-ABCD")).isFalse(); assertThat(getConnector().canHandleTrackable("ABCDEFGHIJKL")).isFalse(); assertThat(getConnector().canHandleTrackable("GL00001", TrackableBrand.UNKNOWN)).isTrue(); assertThat(getConnector().canHandleTrackable("GL00001", TrackableBrand.TRAVELBUG)).isFalse(); assertThat(getConnector().canHandleTrackable("GL00001", TrackableBrand.GEOKRETY)).isFalse(); assertThat(getConnector().canHandleTrackable("GL00001", TrackableBrand.GEOLUTINS)).isTrue(); } public static void testGetTrackableCodeFromUrl() throws Exception { assertThat(getConnector().getTrackableCodeFromUrl("http://www.geolutins.com/profil_geolutin.php?ID_Geolutin_Selectionne=1976")).isEqualTo("GL007B8"); } public static void testGetUrl() throws Exception { final Trackable trackable = new Trackable(); trackable.setGeocode("GL007B8"); assertThat(getConnector().getUrl(trackable)).isEqualTo("http://www.geolutins.com/profil_geolutin.php?ID_Geolutin_Selectionne=1976"); } private static GeolutinsConnector getConnector() { return new GeolutinsConnector(); } public static void testRecommendGeocode() throws Exception { assertThat(getConnector().recommendLogWithGeocode()).isFalse(); } }