Skip to content

Commit

Permalink
Adding unit test for canonical literals
Browse files Browse the repository at this point in the history
  • Loading branch information
Manjesh Nilange committed Apr 28, 2016
1 parent 7e0e970 commit 65e6997
Showing 1 changed file with 127 additions and 0 deletions.
127 changes: 127 additions & 0 deletions src/test/java/com/google/maps/model/EnumsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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
Expand All @@ -36,6 +40,129 @@ public void testUnknown() throws Exception {

}

@Test
public void testCanonicalLiteralsForAddressType() {
Map<AddressType, String> addressTypeToLiteralMap = new HashMap<AddressType, String>();
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<AddressType, String> addressTypeLiteralPair :
addressTypeToLiteralMap.entrySet()) {
assertEquals(addressTypeLiteralPair.getValue(),
addressTypeLiteralPair.getKey().toCanonicalLiteral());
}
assertEquals(addressTypeToLiteralMap.size() + 1, // 1 for unknown
AddressType.values().length);
}

@Test
public void testCanonicalLiteralsForAddressComponentType() {
Map<AddressComponentType, String> addressComponentTypeToLiteralMap =
new HashMap<AddressComponentType, String>();
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<AddressComponentType, String> AddressComponentTypeLiteralPair :
addressComponentTypeToLiteralMap.entrySet()) {
assertEquals(AddressComponentTypeLiteralPair.getValue(),
AddressComponentTypeLiteralPair.getKey().toCanonicalLiteral());
}
assertEquals(addressComponentTypeToLiteralMap.size() + 1, // 1 for unknown
AddressComponentType.values().length);
}

private static <T extends UrlValue> void assertCannotGetUrlValue(T unknown) {
assertNotNull(unknown);
try {
Expand Down

0 comments on commit 65e6997

Please sign in to comment.