From 65e69970f23b649b15530232c513fe35cea4db17 Mon Sep 17 00:00:00 2001 From: Manjesh Nilange Date: Thu, 28 Apr 2016 16:23:31 -0700 Subject: [PATCH] Adding unit test for canonical literals --- .../java/com/google/maps/model/EnumsTest.java | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/src/test/java/com/google/maps/model/EnumsTest.java b/src/test/java/com/google/maps/model/EnumsTest.java index 2e60a2464..f9738e2e6 100644 --- a/src/test/java/com/google/maps/model/EnumsTest.java +++ b/src/test/java/com/google/maps/model/EnumsTest.java @@ -16,6 +16,7 @@ package com.google.maps.model; import static com.google.maps.internal.StringJoin.UrlValue; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; @@ -24,6 +25,9 @@ import org.junit.Test; import org.junit.experimental.categories.Category; +import java.util.HashMap; +import java.util.Map; + @Category(SmallTests.class) public class EnumsTest { @Test @@ -36,6 +40,129 @@ public void testUnknown() throws Exception { } + @Test + public void testCanonicalLiteralsForAddressType() { + Map addressTypeToLiteralMap = new HashMap(); + addressTypeToLiteralMap.put(AddressType.STREET_ADDRESS, "street_address"); + addressTypeToLiteralMap.put(AddressType.ROUTE, "route"); + addressTypeToLiteralMap.put(AddressType.INTERSECTION, "intersection"); + addressTypeToLiteralMap.put(AddressType.POLITICAL, "political"); + addressTypeToLiteralMap.put(AddressType.COUNTRY, "country"); + addressTypeToLiteralMap.put(AddressType.ADMINISTRATIVE_AREA_LEVEL_1, + "administrative_area_level_1"); + addressTypeToLiteralMap.put(AddressType.ADMINISTRATIVE_AREA_LEVEL_2, + "administrative_area_level_2"); + addressTypeToLiteralMap.put(AddressType.ADMINISTRATIVE_AREA_LEVEL_3, + "administrative_area_level_3"); + addressTypeToLiteralMap.put(AddressType.ADMINISTRATIVE_AREA_LEVEL_4, + "administrative_area_level_4"); + addressTypeToLiteralMap.put(AddressType.ADMINISTRATIVE_AREA_LEVEL_5, + "administrative_area_level_5"); + addressTypeToLiteralMap.put(AddressType.COLLOQUIAL_AREA, "colloquial_area"); + addressTypeToLiteralMap.put(AddressType.LOCALITY, "locality"); + addressTypeToLiteralMap.put(AddressType.WARD, "ward"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY, "sublocality"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY_LEVEL_1, "sublocality_level_1"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY_LEVEL_2, "sublocality_level_2"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY_LEVEL_3, "sublocality_level_3"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY_LEVEL_4, "sublocality_level_4"); + addressTypeToLiteralMap.put(AddressType.SUBLOCALITY_LEVEL_5, "sublocality_level_5"); + addressTypeToLiteralMap.put(AddressType.NEIGHBORHOOD, "neighborhood"); + addressTypeToLiteralMap.put(AddressType.PREMISE, "premise"); + addressTypeToLiteralMap.put(AddressType.SUBPREMISE, "subpremise"); + addressTypeToLiteralMap.put(AddressType.POSTAL_CODE, "postal_code"); + addressTypeToLiteralMap.put(AddressType.NATURAL_FEATURE, "natural_feature"); + addressTypeToLiteralMap.put(AddressType.AIRPORT, "airport"); + addressTypeToLiteralMap.put(AddressType.PARK, "park"); + addressTypeToLiteralMap.put(AddressType.POINT_OF_INTEREST, "point_of_interest"); + addressTypeToLiteralMap.put(AddressType.POST_OFFICE, "post_office"); + addressTypeToLiteralMap.put(AddressType.PLACE_OF_WORSHIP, "place_of_worship"); + addressTypeToLiteralMap.put(AddressType.BUS_STATION, "bus_station"); + addressTypeToLiteralMap.put(AddressType.TRAIN_STATION, "train_station"); + addressTypeToLiteralMap.put(AddressType.SUBWAY_STATION, "subway_station"); + addressTypeToLiteralMap.put(AddressType.TRANSIT_STATION, "transit_station"); + addressTypeToLiteralMap.put(AddressType.CHURCH, "church"); + addressTypeToLiteralMap.put(AddressType.FINANCE, "finance"); + addressTypeToLiteralMap.put(AddressType.ESTABLISHMENT, "establishment"); + addressTypeToLiteralMap.put(AddressType.POSTAL_TOWN, "postal_town"); + addressTypeToLiteralMap.put(AddressType.UNIVERSITY, "university"); + + for (Map.Entry addressTypeLiteralPair : + addressTypeToLiteralMap.entrySet()) { + assertEquals(addressTypeLiteralPair.getValue(), + addressTypeLiteralPair.getKey().toCanonicalLiteral()); + } + assertEquals(addressTypeToLiteralMap.size() + 1, // 1 for unknown + AddressType.values().length); + } + + @Test + public void testCanonicalLiteralsForAddressComponentType() { + Map addressComponentTypeToLiteralMap = + new HashMap(); + addressComponentTypeToLiteralMap.put(AddressComponentType.STREET_ADDRESS, "street_address"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ROUTE, "route"); + addressComponentTypeToLiteralMap.put(AddressComponentType.INTERSECTION, "intersection"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POLITICAL, "political"); + addressComponentTypeToLiteralMap.put(AddressComponentType.COUNTRY, "country"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ADMINISTRATIVE_AREA_LEVEL_1, + "administrative_area_level_1"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ADMINISTRATIVE_AREA_LEVEL_2, + "administrative_area_level_2"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ADMINISTRATIVE_AREA_LEVEL_3, + "administrative_area_level_3"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ADMINISTRATIVE_AREA_LEVEL_4, + "administrative_area_level_4"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ADMINISTRATIVE_AREA_LEVEL_5, + "administrative_area_level_5"); + addressComponentTypeToLiteralMap.put(AddressComponentType.COLLOQUIAL_AREA, "colloquial_area"); + addressComponentTypeToLiteralMap.put(AddressComponentType.LOCALITY, "locality"); + addressComponentTypeToLiteralMap.put(AddressComponentType.WARD, "ward"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY, "sublocality"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY_LEVEL_1, + "sublocality_level_1"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY_LEVEL_2, + "sublocality_level_2"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY_LEVEL_3, + "sublocality_level_3"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY_LEVEL_4, + "sublocality_level_4"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBLOCALITY_LEVEL_5, + "sublocality_level_5"); + addressComponentTypeToLiteralMap.put(AddressComponentType.NEIGHBORHOOD, "neighborhood"); + addressComponentTypeToLiteralMap.put(AddressComponentType.PREMISE, "premise"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBPREMISE, "subpremise"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POSTAL_CODE, "postal_code"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POST_BOX, "post_box"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POSTAL_CODE_PREFIX, + "postal_code_prefix"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POSTAL_CODE_SUFFIX, + "postal_code_suffix"); + addressComponentTypeToLiteralMap.put(AddressComponentType.NATURAL_FEATURE, "natural_feature"); + addressComponentTypeToLiteralMap.put(AddressComponentType.AIRPORT, "airport"); + addressComponentTypeToLiteralMap.put(AddressComponentType.PARK, "park"); + addressComponentTypeToLiteralMap.put(AddressComponentType.FLOOR, "floor"); + addressComponentTypeToLiteralMap.put(AddressComponentType.PARKING, "parking"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POINT_OF_INTEREST, + "point_of_interest"); + addressComponentTypeToLiteralMap.put(AddressComponentType.BUS_STATION, "bus_station"); + addressComponentTypeToLiteralMap.put(AddressComponentType.TRAIN_STATION, "train_station"); + addressComponentTypeToLiteralMap.put(AddressComponentType.SUBWAY_STATION, "subway_station"); + addressComponentTypeToLiteralMap.put(AddressComponentType.TRANSIT_STATION, "transit_station"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ESTABLISHMENT, "establishment"); + addressComponentTypeToLiteralMap.put(AddressComponentType.POSTAL_TOWN, "postal_town"); + addressComponentTypeToLiteralMap.put(AddressComponentType.ROOM, "room"); + addressComponentTypeToLiteralMap.put(AddressComponentType.STREET_NUMBER, "street_number"); + + for (Map.Entry AddressComponentTypeLiteralPair : + addressComponentTypeToLiteralMap.entrySet()) { + assertEquals(AddressComponentTypeLiteralPair.getValue(), + AddressComponentTypeLiteralPair.getKey().toCanonicalLiteral()); + } + assertEquals(addressComponentTypeToLiteralMap.size() + 1, // 1 for unknown + AddressComponentType.values().length); + } + private static void assertCannotGetUrlValue(T unknown) { assertNotNull(unknown); try {