Package com.bericotech.clavin.resolver

Source Code of com.bericotech.clavin.resolver.ResolvedLocationTest

package com.bericotech.clavin.resolver;

import static org.junit.Assert.*;

import com.bericotech.clavin.extractor.LocationOccurrence;
import com.bericotech.clavin.gazetteer.GeoName;
import org.junit.Test;

/*#####################################################################
*
* CLAVIN (Cartographic Location And Vicinity INdexer)
* ---------------------------------------------------
*
* Copyright (C) 2012-2013 Berico Technologies
* http://clavin.bericotechnologies.com
*
* ====================================================================
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*
* ====================================================================
*
* ResolvedLocationTest.java
*
*###################################################################*/

/**
* Basic tests for the {@link ResolvedLocation} class, which
* encapsulates a {@link GeoName} object representing the best match
* between a given location name and gazetter record, along with some
* information about the geographic entity resolution process.
*
*/
public class ResolvedLocationTest {

    /**
     * Ensures proper performance of the overridden equals() method.
     */
    @Test
    public void testEquals() {
        // two identical sample gazetteer records from GeoNames.org
        String geonamesEntry = "4781530\tReston\tReston\tReston,Рестон\t38.96872\t-77.3411\tP\tPPL\tUS\tVA\t059\t58404\t100\t102\tAmerica/New_York\t2011-05-14";
        String geonamesEntry2 = "478153\tReston\tReston\tReston,Рестон\t38.96872\t-77.3411\tP\tPPL\tUS\tVA\t059\t58404\t100\t102\tAmerica/New_York\t2011-05-14";

        // create corresponding Lucene Documents for gazetteer records
        GeoName geoname = GeoName.parseFromGeoNamesRecord(geonamesEntry);
        GeoName geoname2 = GeoName.parseFromGeoNamesRecord(geonamesEntry2);

        // a bogus LocationOccurrence object for testing
        LocationOccurrence locationA = new LocationOccurrence("A", 0);

        // two ResolvedLocation objects created from same Lucene Doc, etc.
        ResolvedLocation resolvedLocation = new ResolvedLocation(locationA, geoname, "Nowhere", false);
        ResolvedLocation resolvedLocationDupe = new ResolvedLocation(locationA, geoname, "Nowhere", false);

        // an identical ResolvedLocation object created from the second Lucene doc
        ResolvedLocation resolvedLocation2 = new ResolvedLocation(locationA, geoname2, "Nowhere", false);

        assertTrue("ResolvedLocation == self", resolvedLocation.equals(resolvedLocation));
        assertFalse("ResolvedLocation =! null", resolvedLocation.equals(null));
        assertFalse("ResolvedLocation =! different class", resolvedLocation.equals(new Integer(0)));
        assertTrue("ResolvedLocation == dupe", resolvedLocation.equals(resolvedLocationDupe));
        assertFalse("ResolvedLocation != different geonameID", resolvedLocation.equals(resolvedLocation2));
    }

}
TOP

Related Classes of com.bericotech.clavin.resolver.ResolvedLocationTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.