/// <summary>
 /// Set species observation count information.
 /// </summary>
 /// <param name="darwinCoreInformation">Darwin core information.</param>
 public static void SetCount(this WebDarwinCoreInformation darwinCoreInformation)
 {
     darwinCoreInformation.MaxSpeciesObservationCount = Settings.Default.MaxSpeciesObservationWithInformation;
     if (darwinCoreInformation.SpeciesObservationIds.IsNotNull())
     {
         darwinCoreInformation.SpeciesObservationCount = darwinCoreInformation.SpeciesObservationIds.Count;
     }
     else if (darwinCoreInformation.SpeciesObservations.IsNotNull())
     {
         // ReSharper disable once PossibleNullReferenceException
         darwinCoreInformation.SpeciesObservationCount = darwinCoreInformation.SpeciesObservations.Count;
     }
     else
     {
         darwinCoreInformation.SpeciesObservationCount = 0;
     }
 }
 public void CheckDarwinCoreInformation(WebDarwinCoreInformation information)
 {
     Assert.IsNotNull(information);
     Assert.IsTrue(0 < information.MaxSpeciesObservationCount);
     if (information.SpeciesObservationCount > information.MaxSpeciesObservationCount)
     {
         Assert.IsTrue(information.SpeciesObservationIds.IsNotEmpty());
         Assert.AreEqual(information.SpeciesObservationCount, information.SpeciesObservationIds.Count);
     }
     else
     {
         Assert.IsTrue(information.SpeciesObservations.IsNotEmpty());
         Assert.AreEqual(information.SpeciesObservationCount, information.SpeciesObservations.Count);
     }
     if (information.SpeciesObservations.IsNotEmpty())
     {
         foreach (WebDarwinCore speciesObservation in information.SpeciesObservations)
         {
             Assert.IsNotNull(speciesObservation);
             Assert.IsTrue(speciesObservation.CollectionCode.IsNotEmpty());
         }
     }
 }