public void GetTaxaBySearchCritera() { List <Int32> taxonIds; List <WebTaxon> taxa; String taxonName; WebTaxonSearchCriteria searchCriteria; // Search by taxon name. taxonName = "trumgräshoppa"; searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.TaxonNameSearchString = new WebStringSearchCriteria(); searchCriteria.TaxonNameSearchString.SearchString = taxonName; taxa = WebServiceProxy.TaxonService.GetTaxaBySearchCriteria(GetClientInformation(), searchCriteria); Assert.IsNotNull(taxa); Assert.AreEqual(taxonName, taxa[0].CommonName); // Search by taxon ids. taxonIds = new List <Int32>(); taxonIds.Add((Int32)(TaxonId.Bear)); taxonIds.Add((Int32)(TaxonId.Bears)); taxonIds.Add((Int32)(TaxonId.Beaver)); taxonIds.Add((Int32)(TaxonId.Butterflies)); taxonIds.Add((Int32)(TaxonId.DrumGrasshopper)); taxonIds.Add((Int32)(TaxonId.GreenhouseMoths)); taxonIds.Add((Int32)(TaxonId.Hedgehog)); taxonIds.Add((Int32)(TaxonId.Life)); taxonIds.Add((Int32)(TaxonId.Lynx)); taxonIds.Add((Int32)(TaxonId.Mammals)); searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.IsIsValidTaxonSpecified = true; searchCriteria.IsValidTaxon = true; searchCriteria.TaxonIds = taxonIds; taxa = WebServiceProxy.TaxonService.GetTaxaBySearchCriteria(GetClientInformation(), searchCriteria); Assert.IsTrue(taxa.IsNotEmpty()); Assert.AreEqual(10, taxa.Count); Assert.IsNotNull(taxa[0].CreatedDate); Assert.IsNotNull(taxa[1].Guid); Assert.AreNotEqual(taxa[9].Id, taxa[8].Id); // Check taxon categories set // TODO Update this test when we can create taxon with properties so that categories can be set.... // Create initial data.. List <Int32> taxonCategoryIdList = new List <int>(); taxonCategoryIdList.Add(111111); searchCriteria.TaxonNameSearchString = null; searchCriteria.TaxonIds = null; searchCriteria.TaxonCategoryIds = taxonCategoryIdList; taxa = WebServiceProxy.TaxonService.GetTaxaBySearchCriteria(GetClientInformation(), searchCriteria); Assert.IsNotNull(taxa); Assert.AreEqual(0, taxa.Count); }
public void GetDictionary() { Dictionary <Int32, WebTaxon> taxonDictionary; List <WebTaxon> taxa; WebTaxonSearchCriteria searchCriteria; searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.IsIsValidTaxonSpecified = true; searchCriteria.IsValidTaxon = true; searchCriteria.Scope = TaxonSearchScope.AllChildTaxa; searchCriteria.TaxonIds = new List <Int32>(); searchCriteria.TaxonIds.Add((Int32)(TaxonId.Mammals)); taxa = GetTaxonManager(true).GetTaxaBySearchCriteria(Context, searchCriteria); taxonDictionary = GetTaxonManager().GetDictionary(taxa); Assert.IsTrue(taxonDictionary.IsNotEmpty()); Assert.AreEqual(taxa.Count, taxonDictionary.Count); Assert.IsTrue(taxonDictionary.ContainsKey((Int32)(TaxonId.Mammals))); }
/// <summary> /// Convert TaxonSearchCriteria to WebTaxonSearchCriteria. /// </summary> /// <param name="searchCriteria">A TaxonSearchCriteria instance.</param> /// <returns>A WebTaxonSearchCriteria instance.</returns> private static WebTaxonSearchCriteria GetTaxonSearchCriteria(TaxonSearchCriteria searchCriteria) { WebTaxonSearchCriteria webSearchCriteria; webSearchCriteria = new WebTaxonSearchCriteria(); webSearchCriteria.RestrictReturnToScope = searchCriteria.RestrictReturnToScope; #if DATA_SPECIFIED_EXISTS webSearchCriteria.RestrictReturnToScopeSpecified = true; #endif webSearchCriteria.RestrictReturnToSwedishSpecies = searchCriteria.RestrictReturnToSwedishSpecies; #if DATA_SPECIFIED_EXISTS webSearchCriteria.RestrictReturnToSwedishSpeciesSpecified = true; #endif if (searchCriteria.RestrictReturnToTaxonTypeIds.IsNotNull()) { webSearchCriteria.RestrictReturnToTaxonTypeIds = searchCriteria.RestrictReturnToTaxonTypeIds; } webSearchCriteria.RestrictSearchToSwedishSpecies = searchCriteria.RestrictSearchToSwedishSpecies; #if DATA_SPECIFIED_EXISTS webSearchCriteria.RestrictSearchToSwedishSpeciesSpecified = true; #endif if (searchCriteria.RestrictSearchToTaxonIds.IsNotNull()) { webSearchCriteria.RestrictSearchToTaxonIds = searchCriteria.RestrictSearchToTaxonIds; } if (searchCriteria.RestrictSearchToTaxonTypeIds.IsNotNull()) { webSearchCriteria.RestrictSearchToTaxonTypeIds = searchCriteria.RestrictSearchToTaxonTypeIds; } webSearchCriteria.TaxonInformationType = searchCriteria.TaxonInformationType; #if DATA_SPECIFIED_EXISTS webSearchCriteria.TaxonInformationTypeSpecified = true; #endif webSearchCriteria.TaxonNameSearchString = searchCriteria.TaxonNameSearchString; return(webSearchCriteria); }
public void GetTaxaBySearchCriteria() { List <WebTaxon> taxa; List <Int32> taxonIds; List <Int32> taxonTypeIds; WebTaxonSearchCriteria searchCriteria; foreach (TaxonInformationType taxonInformationType in Enum.GetValues(typeof(TaxonInformationType))) { for (TaxonSearchScope taxonReturnScope = TaxonSearchScope.NoScope; taxonReturnScope <= TaxonSearchScope.AllChildTaxa; taxonReturnScope++) { searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.TaxonInformationType = taxonInformationType; searchCriteria.RestrictReturnToScope = taxonReturnScope; searchCriteria.RestrictSearchToTaxonIds = null; searchCriteria.RestrictSearchToTaxonTypeIds = null; searchCriteria.TaxonNameSearchString = "björn"; searchCriteria.RestrictSearchToSwedishSpecies = true; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(taxa.IsNotEmpty()); Assert.AreEqual(taxa.Count, 1); searchCriteria.RestrictSearchToTaxonIds = null; searchCriteria.RestrictSearchToTaxonTypeIds = null; searchCriteria.TaxonNameSearchString = "björn%"; searchCriteria.RestrictSearchToSwedishSpecies = false; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsNotNull(taxa); Assert.IsTrue(taxa.IsNotEmpty()); Assert.IsTrue(taxa.Count > 1); searchCriteria.RestrictSearchToTaxonIds = GetSomeTaxonIds(); searchCriteria.RestrictSearchToTaxonTypeIds = null; searchCriteria.TaxonNameSearchString = "bäver%"; searchCriteria.RestrictSearchToSwedishSpecies = true; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsNotNull(taxa); Assert.IsTrue(taxa.IsNotEmpty()); Assert.AreEqual(taxa.Count, 1); searchCriteria.RestrictSearchToTaxonIds = null; searchCriteria.RestrictSearchToTaxonTypeIds = null; searchCriteria.TaxonNameSearchString = "blåvingad sandgräshoppa"; searchCriteria.RestrictReturnToSwedishSpecies = true; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(taxa.IsEmpty()); searchCriteria.RestrictSearchToTaxonIds = null; searchCriteria.RestrictSearchToTaxonTypeIds = GetTaxonTypeIds(); searchCriteria.TaxonNameSearchString = "%björn%"; searchCriteria.RestrictSearchToSwedishSpecies = true; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsNotNull(taxa); Assert.IsTrue(taxa.IsNotEmpty()); Assert.IsTrue(taxa.Count > 1); } } // Test bugg were not valid taxa // (not valid today but has been valid before) // is included in the result. searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.RestrictReturnToScope = TaxonSearchScope.AllChildTaxa; taxonIds = new List <Int32>(); taxonIds.Add(217177); // Vägbjörnmossa searchCriteria.RestrictSearchToTaxonIds = taxonIds; taxonTypeIds = new List <Int32>(); taxonTypeIds.Add(SPECIES_TAXON_TYPE_ID); searchCriteria.RestrictReturnToTaxonTypeIds = taxonTypeIds; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsNotNull(taxa); Assert.IsTrue(taxa.IsEmpty()); // Test getting parent taxa. searchCriteria = new WebTaxonSearchCriteria(); searchCriteria.TaxonInformationType = TaxonInformationType.Basic; searchCriteria.RestrictReturnToScope = TaxonSearchScope.AllParentTaxa; searchCriteria.TaxonNameSearchString = "björn"; taxa = TaxonManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(taxa.IsNotEmpty()); }