<NME> WaypointTypeTest.java
<BEF> package cgeo.geocaching.enumerations;

import android.test.AndroidTestCase;

import java.util.HashSet;
import java.util.Set;

import static org.assertj.core.api.Java6Assertions.assertThat;

public class WaypointTypeTest extends AndroidTestCase {

    public static void testFindById() {
        assertThat(WaypointType.findById("random garbage")).isEqualTo(WaypointType.WAYPOINT);
    }

    public static void testConvertWaypointSym2Type() {
        assertThat(WaypointType.fromGPXString("unknown sym")).isEqualTo(WaypointType.WAYPOINT);

        assertThat(WaypointType.fromGPXString("Parking area")).isEqualTo(WaypointType.PARKING);
        assertThat(WaypointType.fromGPXString("Stages of a multicache")).isEqualTo(WaypointType.STAGE);
        assertThat(WaypointType.fromGPXString("Question to answer")).isEqualTo(WaypointType.PUZZLE);
        assertThat(WaypointType.fromGPXString("Trailhead")).isEqualTo(WaypointType.TRAILHEAD);
        assertThat(WaypointType.fromGPXString("Final location")).isEqualTo(WaypointType.FINAL);
        // new names of multi and mystery stages
        assertThat(WaypointType.fromGPXString("Physical Stage")).isEqualTo(WaypointType.STAGE);
        assertThat(WaypointType.fromGPXString("Virtual Stage")).isEqualTo(WaypointType.PUZZLE);
    }

}
    }

    public static void testUniqueShortId() {
        final Set<String> shortIds = new HashSet<>();
        for (final WaypointType wpType : WaypointType.values()) {
            assertThat(shortIds.contains(wpType.getShortId())).isFalse();
            shortIds.add(wpType.shortId);
        }
        assertThat(shortIds.size()).isEqualTo(WaypointType.values().length);
    }

}

<MSG> read child waypoint types from GPX <type> (#7194)

* read child waypoint types from GPX <type>

* Fix/additionals to PR #7194

- Add Test in WaypointTypeTest for 2 Parameter form
- In WaypointType
  - (re)add methode in 1 parameter form for test
  - Fix Typo
  - delete not necessary null test

* Correct Test in WaypointTypeTest for 2 Parameter form
  - both "unknown sym" and xxx" goes to the fallback WAYPOINT, so this test did not test the second paramater to true

* add GC test for GPX waypoint type parsing

<DFF> @@ -24,6 +24,10 @@ public class WaypointTypeTest extends AndroidTestCase {
         // new names of multi and mystery stages
         assertThat(WaypointType.fromGPXString("Physical Stage")).isEqualTo(WaypointType.STAGE);
         assertThat(WaypointType.fromGPXString("Virtual Stage")).isEqualTo(WaypointType.PUZZLE);
+
+        // subtype forms
+        assertThat(WaypointType.fromGPXString("Parking Area", "Parking Area")).isEqualTo(WaypointType.PARKING);
+        assertThat(WaypointType.fromGPXString("unknown sym", "Virtual Stage")).isEqualTo(WaypointType.PUZZLE);
     }
 
 }

read child waypoint types from GPX <type> (#7194)