public void GetRegionTypes()
        {
            List <WebRegionType> regionTypes;

            regionTypes = RegionManager.GetRegionTypes(GetContext());
            Assert.IsTrue(regionTypes.IsNotEmpty());
        }
        public void GetRegionsBySearchCriteria()
        {
            List <Int32>             countryIsoCodes;
            List <WebRegion>         regions;
            List <WebRegionCategory> allRegionCategories, regionCategories;
            String                  nameSearchString;
            WebRegionCategory       regionCategory;
            WebRegionSearchCriteria searchCriteria;
            WebRegionType           regionType;
            WebStringSearchCriteria stringSearchCriteria;

            allRegionCategories = RegionManager.GetRegionCategories(GetContext(), false, 0);

            // Test - All parameters are empty.
            // All regions are returned.
            searchCriteria = new WebRegionSearchCriteria();
            regions        = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsNotEmpty());

            // Test - CountryIsoCodes.
            searchCriteria  = new WebRegionSearchCriteria();
            countryIsoCodes = new List <Int32>();
            countryIsoCodes.Add(allRegionCategories[0].CountryIsoCode);
            searchCriteria.CountryIsoCodes = countryIsoCodes;
            regions = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsNotEmpty());

            // Name search string.
            searchCriteria       = new WebRegionSearchCriteria();
            nameSearchString     = "U%";
            stringSearchCriteria = new WebStringSearchCriteria();
            stringSearchCriteria.SearchString = nameSearchString;
            searchCriteria.NameSearchString   = stringSearchCriteria;
            regions = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsNotEmpty());
            // Check that every region name starts with letter "U"
            foreach (WebRegion region in regions)
            {
                Assert.IsTrue(region.Name.Substring(0, 1).Equals("U"));
            }

            // Test - Region categories.
            searchCriteria   = new WebRegionSearchCriteria();
            regionCategories = new List <WebRegionCategory>();
            regionCategory   = allRegionCategories[2];
            regionCategories.Add(regionCategory);
            searchCriteria.Categories = regionCategories;
            regions = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsNotEmpty());
            // Check that all regions belong to the specified category.
            foreach (WebRegion region in regions)
            {
                Assert.AreEqual(regionCategory.Id, region.CategoryId);
            }

            // Test - Region type.
            searchCriteria      = new WebRegionSearchCriteria();
            regionType          = RegionManager.GetRegionTypes(GetContext())[0];
            searchCriteria.Type = regionType;
            regions             = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsNotEmpty());

            // Name search string with character '.
            searchCriteria       = new WebRegionSearchCriteria();
            nameSearchString     = "Hej ' hopp";
            stringSearchCriteria = new WebStringSearchCriteria();
            stringSearchCriteria.SearchString = nameSearchString;
            searchCriteria.NameSearchString   = stringSearchCriteria;
            regions = RegionManager.GetRegionsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(regions.IsEmpty());
        }