package cgeo.geocaching.test.mock;
import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.enumerations.CacheSize;
import cgeo.geocaching.enumerations.CacheType;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.log.LogType;
import cgeo.geocaching.models.Image;
import cgeo.geocaching.settings.Settings;
import android.support.annotation.NonNull;
import java.text.ParseException;
import java.util.Collections;
import java.util.Date;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
public class GC2CJPF extends MockedCache {
public GC2CJPF() {
super(new Geopoint(52.425067, 9.664200));
}
@Override
public String getName() {
return "Kinderwald KiC";
}
@Override
public float getDifficulty() {
return 2.5f;
}
@NonNull
@Override
public String getGeocode() {
return "GC2CJPF";
}
@Override
public String getOwnerDisplayName() {
return "Tom03";
}
@Override
public boolean isArchived() {
return true;
}
@NonNull
@Override
public String getOwnerUserId() {
return getOwnerDisplayName();
}
@NonNull
@Override
public CacheSize getSize() {
return CacheSize.SMALL;
}
@Override
public float getTerrain() {
return 2.0f;
}
@Override
public CacheType getType() {
return CacheType.MULTI;
}
@Override
public String getHint() {
return "Das Final ist unter Steinen";
}
@Override
public String getDescription() {
return "Kleiner Multi über 7 Stationen";
}
@Override
public String getShortDescription() {
return "Von Nachwuchs-Cachern für Nachwuchs-Cacher.";
}
@Override
public String getCacheId() {
return "1811409";
}
@Override
public String getGuid() {
return "73246a5a-ebb9-4d4f-8db9-a951036f5376";
}
@Override
public String getLocation() {
return "Niedersachsen, Germany";
}
@Override
public boolean isFound() {
if ("blafoo".equals(this.getMockedDataUser())) {
return true;
}
return super.isFound();
}
/*
* (non-Javadoc)
*
* @see cgeo.geocaching.test.mock.MockedCache#isOwn()
*/
@Override
public boolean isOwner() {
if ("Tom03".equals(Settings.getUserName())) {
return true;
}
return super.isOwner();
}
@Override
public boolean isFavorite() {
if ("blafoo".equals(this.getMockedDataUser())) {
return true;
}
return super.isFavorite();
}
@Override
public Date getHiddenDate() {
try {
return GCLogin.parseGcCustomDate("2010-07-31", getDateFormat());
} catch (ParseException e) {
// intentionally left blank
}
return null;
}
@NonNull
@Override
public List<String> getAttributes() {
final String[] attributes = {
"motorcycles_no",
"wheelchair_no",
"winter_yes",
"available_yes",
"wading_yes",
"scenic_yes",
"onehour_yes",
"kids_yes",
"bicycles_yes",
"dogs_yes"
};
return new MockedLazyInitializedList<>(attributes);
}
@Override
public Map<LogType, Integer> getLogCounts() {
final Map<LogType, Integer> logCounts = new EnumMap<>(LogType.class);
logCounts.put(LogType.PUBLISH_LISTING, 1);
logCounts.put(LogType.FOUND_IT, 119);
logCounts.put(LogType.DIDNT_FIND_IT, 3);
logCounts.put(LogType.NOTE, 7);
logCounts.put(LogType.ENABLE_LISTING, 2);
logCounts.put(LogType.TEMP_DISABLE_LISTING, 2);
logCounts.put(LogType.OWNER_MAINTENANCE, 3);
logCounts.put(LogType.NEEDS_MAINTENANCE, 2);
return logCounts;
}
@Override
public int getFavoritePoints() {
return 7;
}
@NonNull
@Override
public List<Image> getSpoilers() {
return Collections.singletonList(new Image.Builder().setUrl("http://www.blafoo.de/images/Kinderwald.jpg").setTitle("Cache listing background image").build());
}
}