/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.master.region.impl;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.opengamma.core.region.RegionClassification;
import com.opengamma.master.region.ManageableRegion;
import com.opengamma.master.region.RegionDocument;
import com.opengamma.master.region.RegionMaster;
import com.opengamma.master.region.RegionSearchRequest;
import com.opengamma.util.i18n.Country;
import com.opengamma.util.money.Currency;
import com.opengamma.util.test.TestGroup;
/**
* Test {@link RegionFileReader}.
*/
@Test(groups = TestGroup.UNIT)
public class RegionFileReaderTest {
private static RegionMaster _regionMaster;
@BeforeClass
public static void setUpOnce() {
_regionMaster = new InMemoryRegionMaster();
RegionFileReader.createPopulated(_regionMaster);
}
public void test_search_regionType() {
RegionSearchRequest request = new RegionSearchRequest();
request.setClassification(RegionClassification.INDEPENDENT_STATE);
assertEquals(193, _regionMaster.search(request).getDocuments().size());
}
public void test_search_all() {
RegionSearchRequest request = new RegionSearchRequest();
int all = _regionMaster.search(request).getDocuments().size();
request.setClassification(RegionClassification.MUNICIPALITY);
int municipalities = _regionMaster.search(request).getDocuments().size();
assertEquals(283, all - municipalities);
}
public void test_search_name() {
RegionSearchRequest request = new RegionSearchRequest();
request.setName("United Kingdom");
assertEquals(1, _regionMaster.search(request).getDocuments().size());
RegionDocument doc = _regionMaster.search(request).getFirstDocument();
ManageableRegion ukRegion = doc.getRegion();
assertNotNull(ukRegion);
assertEquals("United Kingdom", ukRegion.getName());
assertEquals(RegionClassification.INDEPENDENT_STATE, ukRegion.getClassification());
assertEquals(Country.GB, ukRegion.getCountry());
assertEquals(Currency.GBP, ukRegion.getCurrency());
assertEquals(3, ukRegion.getParentRegionIds().size());
RegionDocument gotDoc = _regionMaster.get(doc.getUniqueId());
assertEquals(doc, gotDoc);
}
public void test_search_unknownName() {
RegionSearchRequest searchReq = new RegionSearchRequest();
searchReq.setName("Unknown");
assertEquals(0, _regionMaster.search(searchReq).getDocuments().size());
}
}