Esempio n. 1
0
        public void t_SiteVisit_Delete()
        {
            SiteVisit_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = SiteVisit_ado.CreateSiteVisit_ado(TestHelper.TestGuid1, true, TestHelper.TestGuid2,
                                                                DateTime.Now, DateTime.Now.AddHours(2), TestHelper.TestGuid3);
                setupObject.ObserverId = TestHelper.TestGuid4;
                setupObject.RecorderId = TestHelper.TestGuid3;
                setupObject.Comments   = "asdf asdfasdf";
                iba.AddToSiteVisit_ado1(setupObject);
            });
            List <SiteVisit_ado> SiteVisitAdolist = DbTestHelper.LoadExtraneousSiteVisits();

            SiteVisitMapper.Delete(new SiteVisit()
            {
                Id = setupObject.EventId
            });

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var SiteVisitQuery = from SiteVisits in iba.SiteVisit_ado1 select SiteVisits;
                Assert.IsNotNull(SiteVisitQuery, "Query result is null");
                Assert.AreEqual(SiteVisitAdolist.Count(), SiteVisitQuery.Count(), "Wrong number of results in query");
                validateExtraSiteVisitAdos(SiteVisitAdolist, SiteVisitQuery);
            }
        }
Esempio n. 2
0
        public void t_GetAvailableYears()
        {
            // Load some SiteVisit data, including a few duplicate years (ensuring only distinct values)
            SiteVisit_ado sv1 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid1, TestHelper.TestGuid1, new DateTime(1992, 12, 31));
            SiteVisit_ado sv2 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid2, TestHelper.TestGuid1, new DateTime(1992, 1, 1));
            SiteVisit_ado sv3 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid3, TestHelper.TestGuid1, new DateTime(2008, 2, 29));
            SiteVisit_ado sv4 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid4, TestHelper.TestGuid1, new DateTime(2008, 2, 28));
            SiteVisit_ado sv5 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid5, TestHelper.TestGuid1, new DateTime(2009, 2, 22));
            SiteVisit_ado sv6 = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid6, TestHelper.TestGuid1, new DateTime(2908, 2, 20));

            // Expected years are 1992, 2008, 2009, 2908 - in that order
            SortedSet <int>   set        = ResultsFacade.GetAvailableYears();
            IEnumerator <int> enumerator = set.GetEnumerator();

            enumerator.MoveNext();

            Assert.AreEqual(4, set.Count, "wrong count");
            Assert.AreEqual(1992, enumerator.Current, "missing 1992");
            enumerator.MoveNext();
            Assert.AreEqual(2008, enumerator.Current, "missing 2008");
            enumerator.MoveNext();
            Assert.AreEqual(2009, enumerator.Current, "missing 2009");
            enumerator.MoveNext();
            Assert.AreEqual(2908, enumerator.Current, "missing 2908");
        }
Esempio n. 3
0
        /// <summary>
        /// Loads extra SiteVisit objects to improve testing
        /// </summary>
        /// <returns>
        /// List of <see cref="SiteVisit_ado"/> objects
        /// </returns>
        public static List <SiteVisit_ado> LoadExtraneousSiteVisits()
        {
            List <SiteVisit_ado> siteVisitlist = new List <SiteVisit_ado>();

            SiteVisit_ado extra1 = SiteVisit_ado.CreateSiteVisit_ado(TestHelper.TestGuid2, true, TestHelper.TestGuid2,
                                                                     DateTime.Now, DateTime.Now.AddHours(2), TestHelper.TestGuid3);

            extra1.ObserverId     = TestHelper.TestGuid4;
            extra1.RecorderId     = TestHelper.TestGuid3;
            extra1.EndConditionId = TestHelper.TestGuid4;
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToSiteVisit_ado1(extra1);
            });
            siteVisitlist.Add(extra1);

            SiteVisit_ado extra2 = SiteVisit_ado.CreateSiteVisit_ado(TestHelper.TestGuid3, true, TestHelper.TestGuid1,
                                                                     DateTime.Now, DateTime.Now.AddHours(2), TestHelper.TestGuid3);

            extra1.ObserverId     = TestHelper.TestGuid4;
            extra1.RecorderId     = TestHelper.TestGuid3;
            extra2.EndConditionId = TestHelper.TestGuid4;
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToSiteVisit_ado1(extra2);
            });
            siteVisitlist.Add(extra2);

            return(siteVisitlist);
        }
Esempio n. 4
0
        /// <summary>
        /// Loads a single PointSurvey to the database
        /// </summary>
        /// <param name="startDateTime"></param>
        /// <param name="locationId"></param>
        /// <param name="pointSurveyId">Guid</param>
        public static SiteVisit_ado LoadSingleSiteVisit(Guid siteVisitid, Guid locationId, DateTime startDateTime)
        {
            SiteVisit_ado ado = null;

            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                DateTime startDateTimeme = DateTime.Now;
                ado = SiteVisit_ado.CreateSiteVisit_ado(siteVisitid, true, locationId, startDateTime,
                                                        startDateTime.AddHours(1), TestHelper.TestGuid1);
                iba.AddToSiteVisit_ado1(ado);
            });
            return(ado);
        }
Esempio n. 5
0
 private static void validateObjectEquality(SiteVisit siteVisit, SiteVisit_ado adoSiteVisit)
 {
     Assert.IsNotNull(adoSiteVisit, "There is no SiteVisit with the ID to test for");
     Assert.AreEqual(TestHelper.TestString(siteVisit.EndTimeStamp.Value), TestHelper.TestString(adoSiteVisit.EndTime), "EndTimeStamp");
     Assert.AreEqual(siteVisit.Id, adoSiteVisit.EventId, "SiteVisitId");
     Assert.AreEqual(siteVisit.IsDataEntryComplete, adoSiteVisit.IsDataEntryComplete, "IsDataEntryComplete");
     Assert.AreEqual(siteVisit.LocationId, adoSiteVisit.LocationId, "LocationId");
     Assert.AreEqual(siteVisit.ObserverId, adoSiteVisit.ObserverId, "ObserverId");
     Assert.AreEqual(siteVisit.RecorderId, adoSiteVisit.RecorderId, "RecorderId");
     Assert.AreEqual(TestHelper.TestString(siteVisit.StartTimeStamp.Value), TestHelper.TestString(adoSiteVisit.StartTime), "StartTimeStamp");
     Assert.AreEqual(siteVisit.EndConditions.Id, (adoSiteVisit.EndConditionId.HasValue) ? adoSiteVisit.EndConditionId.Value : Guid.Empty, "EndConditions");
     Assert.AreEqual(siteVisit.StartConditions.Id, adoSiteVisit.StartConditionId, "StartConditions");
     Assert.AreEqual(siteVisit.Comments, adoSiteVisit.Comments, "Comments");
 }
Esempio n. 6
0
        public void t_SiteVisit_Save_Insert()
        {
            SiteVisit toInsert = new SiteVisit()
            {
                Id            = TestHelper.TestGuid1,
                EndConditions = new SiteCondition()
                {
                    Id          = TestHelper.TestGuid1,
                    SiteVisitId = TestHelper.TestGuid1,
                    Sky         = 0,
                    Temperature = new Business.DataTypes.Temperature()
                    {
                        Units = "C", Value = 20
                    },
                    Wind = 2
                },
                EndTimeStamp        = DateTime.Now,
                IsDataEntryComplete = true,
                LocationId          = TestHelper.TestGuid4,
                ObserverId          = TestHelper.TestGuid3,
                RecorderId          = TestHelper.TestGuid2,
                StartConditions     = new SiteCondition()
                {
                    Id          = TestHelper.TestGuid2,
                    SiteVisitId = TestHelper.TestGuid1,
                    Sky         = 1,
                    Temperature = new Business.DataTypes.Temperature()
                    {
                        Units = "C", Value = 23
                    },
                    Wind = 2
                },
                StartTimeStamp = DateTime.Now.AddHours(-2),
                Comments       = "asdf asdfa sdf asdfasdfasdf"
            };

            SiteVisitMapper.Insert(toInsert);

            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var SiteVisitQuery = from SiteVisits in iba.SiteVisit_ado1 select SiteVisits;
                Assert.IsNotNull(SiteVisitQuery, "Query result is null");
                Assert.AreEqual(1, SiteVisitQuery.Count(), "Wrong number of results in query");
                SiteVisit_ado adoSiteVisit = SiteVisitQuery.First();
                validateObjectEquality(toInsert, adoSiteVisit);
            }
        }
Esempio n. 7
0
 private static void validateExtraSiteVisitAdos(List <SiteVisit_ado> extraList, IQueryable <SiteVisit_ado> SiteVisitQuery)
 {
     foreach (SiteVisit_ado extra in extraList)
     {
         SiteVisit_ado adoSiteVisit = SiteVisitQuery.First(x => x.EventId == extra.EventId);
         Assert.IsNotNull(adoSiteVisit, "There is no longer an object with id " + extra.EventId.ToString());
         Assert.AreEqual(extra.EndConditionId, adoSiteVisit.EndConditionId, "EndConditionId for id " + extra.EventId.ToString());
         Assert.AreEqual(TestHelper.TestString(extra.EndTime), TestHelper.TestString(adoSiteVisit.EndTime), "EndTime for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.EventId, adoSiteVisit.EventId, "EventId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.IsDataEntryComplete, adoSiteVisit.IsDataEntryComplete, "IsDataEntryComplete for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.LocationId, adoSiteVisit.LocationId, "LocationId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.ObserverId, adoSiteVisit.ObserverId, "ObserverId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.RecorderId, adoSiteVisit.RecorderId, "RecorderId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.StartConditionId, adoSiteVisit.StartConditionId, "StartConditionId for id " + extra.EventId.ToString());
         Assert.AreEqual(TestHelper.TestString(extra.StartTime), TestHelper.TestString(adoSiteVisit.StartTime), "StartTime for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.Comments, adoSiteVisit.Comments, "Comments");
     }
 }
Esempio n. 8
0
        public void t_SiteVisit_Save_Update()
        {
            SiteVisit_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = SiteVisit_ado.CreateSiteVisit_ado(TestHelper.TestGuid1, true, TestHelper.TestGuid2,
                                                                DateTime.Now, DateTime.Now.AddHours(2), TestHelper.TestGuid3);
                setupObject.ObserverId = TestHelper.TestGuid4;
                setupObject.RecorderId = TestHelper.TestGuid3;
                setupObject.Comments   = "asdf asdfasdf";
                iba.AddToSiteVisit_ado1(setupObject);
            });
            List <SiteVisit_ado> extraList = DbTestHelper.LoadExtraneousSiteVisits();

            // Setup object to be saved. Change everything except the Id.
            SiteVisit toSave = new SiteVisit()
            {
                Id                  = setupObject.EventId,
                EndTimeStamp        = setupObject.EndTime.AddHours(1),
                IsDataEntryComplete = false,
                LocationId          = TestHelper.TestGuid4,
                ObserverId          = TestHelper.TestGuid3,
                RecorderId          = TestHelper.TestGuid2,
                StartTimeStamp      = setupObject.StartTime.AddHours(0.5),
                Comments            = "asdf asdfa sdf asdfasdfasdf"
            };

            // Execute the test
            SiteVisitMapper.Update(toSave);

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var SiteVisitQuery = from SiteVisits in iba.SiteVisit_ado1 select SiteVisits;
                Assert.IsNotNull(SiteVisitQuery, "Query result is null");
                Assert.AreEqual(extraList.Count() + 1, SiteVisitQuery.Count(), "Wrong number of results in query");
                SiteVisit_ado adoSiteVisit = SiteVisitQuery.First(x => x.EventId == TestHelper.TestGuid1);
                validateObjectEquality(toSave, adoSiteVisit);

                validateExtraSiteVisitAdos(extraList, SiteVisitQuery);
            }
        }
        private void setupOakwood()
        {
            Location_ado site  = Location_ado.CreateLocation_ado(TestHelper.TestGuid1, OAKWOOD, LookupConstants.LocationTypeSite);
            Location_ado point = Location_ado.CreateLocation_ado(TestHelper.TestGuid2, "Point", LookupConstants.LocationTypePoint);

            point.ParentLocationId = site.LocationId;
            SiteVisit_ado   visit  = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid1, site.LocationId, DateTime.Now.AddHours(-7));
            PointSurvey_ado survey = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid2, point.LocationId, DateTime.Now.AddHours(-7), DateTime.Now.AddHours(-6));

            survey.SiteVisitId = visit.EventId;
            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToPointSurvey_ado1(survey);
                iba.AddToLocation_ado(site);
                iba.AddToLocation_ado(point);
                iba.SaveChanges();
            });

            List <Observation_ado> obsList = new List <Observation_ado>();

            addABunchOfObservations(obsList, 35, List[0].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 26, List[1].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 21, List[2].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 16, List[3].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 11, List[4].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 6, List[5].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 5, List[6].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 3, List[7].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 3, List[8].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 3, List[9].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 3, List[10].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 3, List[11].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 2, List[12].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 2, List[13].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 2, List[14].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 1, List[15].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 1, List[16].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 1, List[17].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 1, List[18].SpeciesId, survey.EventId);
            addABunchOfObservations(obsList, 25, List[19].SpeciesId, survey.EventId);
            loadObservations(obsList);
        }
Esempio n. 10
0
        public void t_SiteVisit_Select_ByGuid()
        {
            SiteVisit_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = SiteVisit_ado.CreateSiteVisit_ado(TestHelper.TestGuid1, true, TestHelper.TestGuid2,
                                                                DateTime.Now, DateTime.Now.AddHours(2), TestHelper.TestGuid3);
                setupObject.ObserverId = TestHelper.TestGuid4;
                setupObject.RecorderId = TestHelper.TestGuid3;
                setupObject.Comments   = "asdf asdfasdf";
                iba.AddToSiteVisit_ado1(setupObject);
            });
            List <SiteVisit_ado> extraList = DbTestHelper.LoadExtraneousSiteVisits();

            // Exercise the test
            SiteVisit resultObject = SiteVisitMapper.Select(setupObject.EventId);

            validateObjectEquality(resultObject, setupObject);
        }
Esempio n. 11
0
        public void t_BMDE_IncompleteSurvey()
        {
            DbTestHelper.LoadSinglePerson(PersonFirstName, PersonLastName, PersonGuid);
            List <Location_ado> locations = DbTestHelper.LoadExtraneousLocations();

            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                DateTime startDateTimeme = DateTime.Now;
                SiteVisit_ado ado        = SiteVisit_ado.CreateSiteVisit_ado(SiteVisitGuid, true, locations[0].LocationId, DateTime.Now.AddHours(-1),
                                                                             DateTime.Now, TestHelper.TestGuid1);
                ado.IsDataEntryComplete = false;    // force incompletion
                iba.AddToSiteVisit_ado1(ado);
            });

            Location_ado point = locations.First(x => x.ParentLocationId != null);

            DbTestHelper.LoadSinglePointSurvey(PointSurveyGuid, SiteVisitGuid, point.LocationId, DateTime.Now, DateTime.Now.AddHours(1));

            DbTestHelper.LoadExtraneousObservations(PointSurveyGuid);

            string bmde = ResultsMapper.GetBMDE();

            Assert.AreEqual(string.Empty, bmde);
        }
Esempio n. 12
0
        public void t_GetCommunityBreeding()
        {
            DateTime breedingdate1 = new DateTime(2010, 07, 01);
            DateTime breedingdate2 = new DateTime(2010, 06, 11);
            DateTime breedingdate3 = new DateTime(2009, 06, 11, 9, 32, 0);

            List <Location_ado> siteList    = DbTestHelper.LoadSites();
            SiteVisit_ado       visit1      = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid1, siteList[0].LocationId, breedingdate1);
            SiteVisit_ado       visit2      = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid2, siteList[1].LocationId, breedingdate2);
            SiteVisit_ado       extra       = DbTestHelper.LoadSingleSiteVisit(TestHelper.TestGuid3, siteList[0].LocationId, breedingdate3);
            PointSurvey_ado     surveyExtra = DbTestHelper.LoadSinglePointSurvey(TestHelper.TestGuid5, extra.EventId, TestHelper.TestGuid1, breedingdate3, breedingdate3.AddMinutes(5));
            PointSurvey_ado     survey1     = DbTestHelper.LoadSinglePointSurvey(TestHelper.TestGuid3, visit1.EventId, TestHelper.TestGuid1, DateTime.Now, DateTime.Now.AddHours(1));
            PointSurvey_ado     survey2     = DbTestHelper.LoadSinglePointSurvey(TestHelper.TestGuid4, visit2.EventId, TestHelper.TestGuid1, DateTime.Now, DateTime.Now.AddHours(1));

            // To make this test interesting, there must be several factors:
            // A supplemental to ignore
            // At least one observation inside of 50m
            // At least one outside of 50m for each species
            // A site that has count of zero therefore shouldn't show up
            // And relative abundance cannot calculate as zero
            Observation_ado supplementalSite1   = Observation_ado.CreateObservation_ado(0, visit1.EventId, new Guid(TestHelper.SPECIES_1_ID), LookupConstants.ObservationTypeSupplemental);
            Observation_ado site1Species1Beyond = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_1_ID), LookupConstants.ObservationTypePointBeyond50m);
            Observation_ado site1Species1Less   = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_1_ID), LookupConstants.ObservationTypePointLess50m);
            Observation_ado site1Species1Less2  = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_1_ID), LookupConstants.ObservationTypePointLess50m);
            Observation_ado site1Species2Beyond = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_2_ID), LookupConstants.ObservationTypePointBeyond50m);
            Observation_ado site1Species3Less   = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_3_ID), LookupConstants.ObservationTypePointLess50m);
            Observation_ado site1Species3Beyond = Observation_ado.CreateObservation_ado(0, survey1.EventId, new Guid(TestHelper.SPECIES_3_ID), LookupConstants.ObservationTypePointBeyond50m);
            Observation_ado site2Species3Beyond = Observation_ado.CreateObservation_ado(0, survey2.EventId, new Guid(TestHelper.SPECIES_3_ID), LookupConstants.ObservationTypePointBeyond50m);
            Observation_ado site2Species3Less   = Observation_ado.CreateObservation_ado(0, survey2.EventId, new Guid(TestHelper.SPECIES_3_ID), LookupConstants.ObservationTypePointLess50m);
            Observation_ado site2Species2Beyond = Observation_ado.CreateObservation_ado(0, survey2.EventId, new Guid(TestHelper.SPECIES_2_ID), LookupConstants.ObservationTypePointBeyond50m);
            Observation_ado site2Species2Less   = Observation_ado.CreateObservation_ado(0, survey2.EventId, new Guid(TestHelper.SPECIES_2_ID), LookupConstants.ObservationTypePointLess50m);
            Observation_ado extraObservation    = Observation_ado.CreateObservation_ado(0, surveyExtra.EventId, new Guid(TestHelper.SPECIES_1_ID), LookupConstants.ObservationTypePointBeyond50m);

            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToObservation_ado(supplementalSite1);
                iba.AddToObservation_ado(site1Species1Beyond);
                iba.AddToObservation_ado(site1Species2Beyond);
                iba.AddToObservation_ado(site2Species3Beyond);
                iba.AddToObservation_ado(site1Species1Less);
                iba.AddToObservation_ado(site1Species1Less2);
                iba.AddToObservation_ado(site2Species3Less);
                iba.AddToObservation_ado(site1Species3Less);
                iba.AddToObservation_ado(site2Species2Beyond);
                iba.AddToObservation_ado(site2Species2Less);
                iba.AddToObservation_ado(extraObservation);
                iba.SaveChanges();
            });

            DataSet resultSet = mappers.ResultsMapper.GetCommunityBreeding(2010);

            Assert.IsNotNull(resultSet, "Resultset is null");
            Assert.AreEqual(1, resultSet.Tables.Count, "Wrong table count");


            DataTable table = resultSet.Tables[0];


            Assert.IsTrue(table.Columns.Contains("LocationName"), "Missing LocationName column");
            Assert.IsTrue(table.Columns.Contains("Richness"), "Missing Richness column");
            Assert.IsTrue(table.Columns.Contains("DiversityIndex"), "Missing DiversityIndex column");
            Assert.IsTrue(table.Columns.Contains("Evenness"), "Missing Evenness column");
            Assert.AreEqual(2, table.Rows.Count, "Wrong row count");

            var locationQuery = from locs
                                in table.AsEnumerable()
                                //where locs.Field<Guid>("LocationId").Equals(siteList[0].LocationId)
                                select new
            {
                LocationId   = locs.Field <Guid>("LocationId"),
                LocationName = locs.Field <string>("LocationName"),
                Richness     = locs.Field <int>("Richness"),
                Diversity    = locs.Field <decimal>("DiversityIndex"),
                Evenness     = locs.Field <decimal>("Evenness")
            };
            var result = from l1 in locationQuery where l1.LocationName.Equals(siteList[0].LocationName) select l1;

            Assert.AreEqual(1, result.Count(), "does not contain row for location 1");
            Assert.AreEqual(siteList[0].LocationId, result.First().LocationId, "wrong location ID for location 1");
            Assert.AreEqual(3, result.First().Richness, "Wrong Richness for location 1");
            Assert.AreEqual(0.8044m, result.First().Diversity, "Wrong DiversityIndex for location 1");
            Assert.AreEqual(0.7322m, result.First().Evenness, "Wrong Evenness for location 1");

            result = from l1 in locationQuery where l1.LocationName.Equals(siteList[1].LocationName) select l1;
            Assert.AreEqual(1, result.Count(), "does not contain row for location 2");
            Assert.AreEqual(siteList[1].LocationId, result.First().LocationId, "wrong location ID for location 2");
            Assert.AreEqual(2, result.First().Richness, "Wrong Richness for location 2");
            Assert.AreEqual(0.5828m, result.First().Diversity, "Wrong DiversityIndex for location 2");
            Assert.AreEqual(0.8409m, result.First().Evenness, "Wrong Evenness for location 2");
        }
Esempio n. 13
0
        [Ignore] // this is getting an XML error and it is not worth trying to fix it right now. 2014-12-26.
        public void t_BMDE_CompleteSurvey_TwoObservations()
        {
            DbTestHelper.LoadSinglePerson(PersonFirstName, PersonLastName, PersonGuid);
            List <Location_ado> locations = DbTestHelper.LoadExtraneousLocations();

            DateTime startDate   = DateTime.Now.AddHours(-2);
            DateTime endDate     = DateTime.Now;
            DateTime surveyDate  = endDate.AddMinutes(-5);
            DateTime surveyDate2 = surveyDate.AddMinutes(-5);

            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                DateTime startDateTimeme = DateTime.Now;
                SiteVisit_ado ado        = SiteVisit_ado.CreateSiteVisit_ado(SiteVisitGuid, true, locations[0].LocationId, startDate,
                                                                             endDate, TestHelper.TestGuid1);
                ado.IsDataEntryComplete = true;
                ado.RecorderId          = PersonGuid;
                ado.ObserverId          = PersonGuid;
                iba.SiteVisit_ado1.AddObject(ado);
            });

            Location_ado point  = locations.First(x => x.ParentLocationId != null);
            Location_ado point2 = locations.Last();

            DbTestHelper.LoadSinglePointSurvey(PointSurveyGuid, SiteVisitGuid, point.LocationId, surveyDate, endDate);
            DbTestHelper.LoadSinglePointSurvey(PointSurveyGuid2, SiteVisitGuid, point2.LocationId, surveyDate2, surveyDate);

            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                Observation_ado observation  = Observation_ado.CreateObservation_ado(0, PointSurveyGuid, new Guid(TestHelper.SPECIES_1_ID), PointCountBeyond50.ObservationTypeGuid);
                Observation_ado observation2 = Observation_ado.CreateObservation_ado(0, PointSurveyGuid, new Guid(TestHelper.SPECIES_1_ID), PointCountBeyond50.ObservationTypeGuid);
                Observation_ado observation3 = Observation_ado.CreateObservation_ado(0, PointSurveyGuid2, new Guid(TestHelper.SPECIES_2_ID), PointCountWithin50.ObservationTypeGuid);
                iba.Observation_ado.AddObject(observation);
                iba.Observation_ado.AddObject(observation2);
                iba.Observation_ado.AddObject(observation3);
            });

            string        bmde     = ResultsMapper.GetBMDE();
            ASCIIEncoding encoding = new ASCIIEncoding();

            using (MemoryStream stream = new MemoryStream(encoding.GetBytes(bmde)))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(ObservationList));
                serializer.UnknownAttribute   += new XmlAttributeEventHandler(serializer_UnknownAttribute);
                serializer.UnknownElement     += new XmlElementEventHandler(serializer_UnknownElement);
                serializer.UnknownNode        += new XmlNodeEventHandler(serializer_UnknownNode);
                serializer.UnreferencedObject += new UnreferencedObjectEventHandler(serializer_UnreferencedObject);
                ObservationList obslist = (ObservationList)serializer.Deserialize(stream);

                Assert.AreEqual(2, obslist.Observation.Count(), "wrong Observation count");
                ObservationListObservation actual = obslist.Observation[0];
                Assert.AreEqual("Yes", actual.AllIndividualsReported, "AllIndividualsReported");
                Assert.AreEqual("observation", actual.BasisOfRecord, "BasisOfRecord");
                Assert.IsTrue(!string.IsNullOrEmpty(actual.CatalogNumber), "CatalogNumber");
                Assert.AreEqual(PersonFirstName + " " + PersonLastName, actual.Collector, "Collector");
                Assert.AreEqual(TestHelper.SPECIES_1_COMMON, actual.CommonName, "CommonName");
                Assert.AreEqual("North America", actual.Continent, "Continent");
                Assert.AreEqual("null", actual.CoordinateUncertainty, "CoordinateUncertainty");
                Assert.AreEqual("United States of America", actual.Country, "Country");
                Assert.AreEqual(startDate.Day, actual.DayCollected, "DayCollected");
                Assert.AreEqual(point.Latitude.Value, actual.DecimalLatitude, "DecimalLatitude");
                Assert.AreEqual(point.Longitude, actual.DecimalLongitude, "DecimalLongitude");
                Assert.AreEqual("Unlimited", actual.DistanceFromObserverMax, "DistanceFromObserverMax");
                Assert.AreEqual("50 m", actual.DistanceFromObserverMin, "DistanceFromObserverMin");
                Assert.AreEqual((endDate - surveyDate).TotalHours.ToString("00.00"), actual.DurationInHours.ToString("00.00"), "DurationInHours");
                string genus   = TestHelper.SPECIES_1_SCIENTIFIC.Split(' ')[0];
                string species = TestHelper.SPECIES_1_SCIENTIFIC.Split(' ')[1];
                Assert.AreEqual(genus, actual.Genus, "Genus");
                Assert.AreEqual(startDate.DayOfYear, actual.JulianDay, "JulianDay");
                Assert.AreEqual(point.LocationName, actual.Locality, "Locality");
                Assert.AreEqual(startDate.Month, actual.MonthCollected, "MonthCollected");
                Assert.AreEqual(1, actual.NumberOfObservers, "NumberOfObservers");
                Assert.AreEqual(2, actual.ObservationCount, "ObservationCount");
                Assert.AreEqual(startDate.ToString("MM/dd/yyyy"), actual.ObservationDate, "ObservationDate");
                Assert.AreEqual("decimal degrees", actual.OriginalCoordinateSystem, "OriginalCoordinateSystem");
                Assert.AreEqual("Homayoun, T. Z. and R. B. Blair. 2009. Citizen-Science Monitoring of Landbirds in the Mississippi River Twin Cities Important Bird Area. Pages 607-616 in T.D., Rich, C. Arizmendi, D. Demarest and C. Thompson, editors. Tundra to Tropics: Connecting Birds, Habitats and People. Proceedings of the 4th International Partners in Flight Conference, 13-16 February 2008, McAllen, TX. Partners in Flight.", actual.ProtocolReference, "ProtocolReference");
                Assert.AreEqual("Point Count", actual.ProtocolType, "ProtocolType");
                Assert.AreEqual("http://www.partnersinflight.org/pubs/McAllenProc/articles/PIF09_Monitoring/Homayoun_PIF09.pdf", actual.ProtocolURL, "ProtocolURL");
                Assert.AreEqual("Restricted", actual.RecordPermissions, "RecordPermissions");
                Assert.AreEqual(locations[0].LocationId.ToString().ToUpper(), actual.RouteIdentifier, "RouteIdentifier");
                Assert.AreEqual(PointSurveyGuid.ToString().ToUpper(), actual.SamplingEventIdentifier, "SamplingEventIdentifier");
                Assert.AreEqual(TestHelper.SPECIES_1_SCIENTIFIC, actual.ScientificName, "ScientificName");
                Assert.AreEqual(TestHelper.SPECIES_1_CODE, actual.SpeciesCode, "SpeciesCode");
                Assert.AreEqual(species, actual.SpecificEpithet, "SpecificEpithet");
                Assert.AreEqual("Minnesota", actual.StateProvince, "StateProvince");
                Assert.AreEqual(point.LocationId.ToString().ToUpper(), actual.SurveyAreaIdentifier, "SurveyAreaIdentifier");
                Assert.AreEqual((surveyDate.TimeOfDay.Hours + surveyDate.TimeOfDay.Minutes / 60.0).ToString("00.00"), actual.TimeCollected.ToString("00.00"), "TimeCollected");
                Assert.AreEqual((endDate.TimeOfDay.Hours + endDate.TimeOfDay.Minutes / 60.0).ToString("00.00"), actual.TimeObservationsEnded.ToString("00.00"), "TimeObservationsEnded");
                Assert.AreEqual(surveyDate.TimeOfDay.TotalHours.ToString("00.00"), actual.TimeObservationsStarted.ToString("00.00"), "TimeObservationsStarted");
                Assert.AreEqual(startDate.Year.ToString(), actual.YearCollected.ToString(), "YearCollected");

                actual = obslist.Observation[1];
                Assert.AreEqual("Yes", actual.AllIndividualsReported, "AllIndividualsReported");
                Assert.AreEqual("observation", actual.BasisOfRecord, "BasisOfRecord");
                Assert.IsTrue(!string.IsNullOrEmpty(actual.CatalogNumber), "CatalogNumber");
                Assert.AreEqual(PersonFirstName + " " + PersonLastName, actual.Collector, "Collector");
                Assert.AreEqual(TestHelper.SPECIES_2_COMMON, actual.CommonName, "CommonName");
                Assert.AreEqual("North America", actual.Continent, "Continent");
                Assert.AreEqual("null", actual.CoordinateUncertainty, "CoordinateUncertainty");
                Assert.AreEqual("United States of America", actual.Country, "Country");
                Assert.AreEqual(startDate.Day, actual.DayCollected, "DayCollected");
                Assert.AreEqual(point2.Latitude.Value, actual.DecimalLatitude, "DecimalLatitude");
                Assert.AreEqual(point2.Longitude, actual.DecimalLongitude, "DecimalLongitude");
                Assert.AreEqual("50 m", actual.DistanceFromObserverMax, "DistanceFromObserverMax");
                Assert.AreEqual("0 m", actual.DistanceFromObserverMin, "DistanceFromObserverMin");
                Assert.AreEqual((surveyDate - surveyDate2).TotalHours.ToString("00.00"), actual.DurationInHours.ToString("00.00"), "DurationInHours");
                genus   = TestHelper.SPECIES_2_SCIENTIFIC.Split(' ')[0];
                species = TestHelper.SPECIES_2_SCIENTIFIC.Split(' ')[1];
                Assert.AreEqual(genus, actual.Genus, "Genus");
                Assert.AreEqual(startDate.DayOfYear, actual.JulianDay, "JulianDay");
                Assert.AreEqual(point.LocationName, actual.Locality, "Locality");
                Assert.AreEqual(startDate.Month, actual.MonthCollected, "MonthCollected");
                Assert.AreEqual(1, actual.NumberOfObservers, "NumberOfObservers");
                Assert.AreEqual(1, actual.ObservationCount, "ObservationCount");
                Assert.AreEqual(startDate.ToString("MM/dd/yyyy"), actual.ObservationDate, "ObservationDate");
                Assert.AreEqual("decimal degrees", actual.OriginalCoordinateSystem, "OriginalCoordinateSystem");
                Assert.AreEqual("Homayoun, T. Z. and R. B. Blair. 2009. Citizen-Science Monitoring of Landbirds in the Mississippi River Twin Cities Important Bird Area. Pages 607-616 in T.D., Rich, C. Arizmendi, D. Demarest and C. Thompson, editors. Tundra to Tropics: Connecting Birds, Habitats and People. Proceedings of the 4th International Partners in Flight Conference, 13-16 February 2008, McAllen, TX. Partners in Flight.", actual.ProtocolReference, "ProtocolReference");
                Assert.AreEqual("Point Count", actual.ProtocolType, "ProtocolType");
                Assert.AreEqual("http://www.partnersinflight.org/pubs/McAllenProc/articles/PIF09_Monitoring/Homayoun_PIF09.pdf", actual.ProtocolURL, "ProtocolURL");
                Assert.AreEqual("Restricted", actual.RecordPermissions, "RecordPermissions");
                Assert.AreEqual(locations[0].LocationId.ToString().ToUpper(), actual.RouteIdentifier, "RouteIdentifier");
                Assert.AreEqual(PointSurveyGuid2.ToString().ToUpper(), actual.SamplingEventIdentifier, "SamplingEventIdentifier");
                Assert.AreEqual(TestHelper.SPECIES_2_SCIENTIFIC, actual.ScientificName, "ScientificName");
                Assert.AreEqual(TestHelper.SPECIES_2_CODE, actual.SpeciesCode, "SpeciesCode");
                Assert.AreEqual(species, actual.SpecificEpithet, "SpecificEpithet");
                Assert.AreEqual("Minnesota", actual.StateProvince, "StateProvince");
                Assert.AreEqual(point.LocationId.ToString().ToUpper(), actual.SurveyAreaIdentifier, "SurveyAreaIdentifier");
                Assert.AreEqual((surveyDate2.TimeOfDay.Hours + surveyDate2.TimeOfDay.Minutes / 60.0).ToString("00.00"), actual.TimeCollected.ToString("00.00"), "TimeCollected");
                Assert.AreEqual((surveyDate.TimeOfDay.Hours + surveyDate.TimeOfDay.Minutes / 60.0).ToString("00.00"), actual.TimeObservationsEnded.ToString("00.00"), "TimeObservationsEnded");
                Assert.AreEqual(surveyDate2.TimeOfDay.TotalHours.ToString("00.00"), actual.TimeObservationsStarted.ToString("00.00"), "TimeObservationsStarted");
                Assert.AreEqual(startDate.Year.ToString(), actual.YearCollected.ToString(), "YearCollected");
            }
        }