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 GC3FJ5F extends MockedCache {
public GC3FJ5F() {
super(new Geopoint(51.3398833, 7.0304833));
}
@Override
public String getName() {
return "Herminghauspark";
}
@Override
public float getDifficulty() {
return 1.0f;
}
@NonNull
@Override
public String getGeocode() {
return "GC3FJ5F";
}
@Override
public String getOwnerDisplayName() {
return "Lineflyer";
}
@NonNull
@Override
public String getOwnerUserId() {
return getOwnerDisplayName();
}
@NonNull
@Override
public CacheSize getSize() {
return CacheSize.LARGE;
}
@Override
public float getTerrain() {
return 2.0f;
}
@Override
public CacheType getType() {
return CacheType.MULTI;
}
@Override
public String getHint() {
return "[FINAL] Geteilter Baumstumpf, dann ganz unten (Spoiler-Bild)";
}
@Override
public String getDescription() {
return "<b>Update 31.12.2014:</b><br /> Koordinaten für Station 2 neu eingemessen.<br />";
}
@Override
public String getShortDescription() {
return "<b>Spaziergang durch den Velberter Herminghauspark.</b><br /> <br /> Ich möchte euch einen Besuch im Velberter Herminghauspark nahelegen. Hier wurde in den letzten Jahren viel getan um den Park attraktiv für Besucher und insbesondere für Familien zu machen. Aber seht selbst...<br />";
}
@Override
public String getCacheId() {
return "2823776";
}
@Override
public String getGuid() {
return "ba954eb7-29c5-4b4a-a6d8-8546b05b5bae";
}
@Override
public String getLocation() {
return "Nordrhein-Westfalen, Germany";
}
/*
* (non-Javadoc)
*
* @see cgeo.geocaching.test.mock.MockedCache#isOwn()
*/
@Override
public boolean isOwner() {
if ("Lineflyer".equals(Settings.getUserName())) {
return true;
}
return super.isOwner();
}
@Override
public Date getHiddenDate() {
try {
return GCLogin.parseGcCustomDate("2012-03-29", getDateFormat());
} catch (ParseException e) {
// intentionally left blank
}
return null;
}
@NonNull
@Override
public List<String> getAttributes() {
final String[] attributes = {
"night_no",
"picnic_yes",
"restrooms_yes",
"touristok_yes",
"parking_yes",
"wheelchair_yes",
"food_yes",
"hike_med_yes",
"winter_yes",
"onehour_yes",
"kids_yes",
"stroller_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, 411);
logCounts.put(LogType.DIDNT_FIND_IT, 2);
logCounts.put(LogType.NOTE, 19);
logCounts.put(LogType.ENABLE_LISTING, 8);
logCounts.put(LogType.TEMP_DISABLE_LISTING, 8);
logCounts.put(LogType.OWNER_MAINTENANCE, 14);
logCounts.put(LogType.NEEDS_MAINTENANCE, 4);
return logCounts;
}
@Override
public int getFavoritePoints() {
return 53;
}
@Override
@NonNull
public List<Image> getSpoilers() {
return Collections.singletonList(Image.NONE);
}
}