Beispiel #1
0
        public void t_PointSurvey_Delete()
        {
            PointSurvey_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid3, TestHelper.TestGuid1,
                                                                    DateTime.Now, DateTime.Now.AddMinutes(5));
                setupObject.NoiseCode   = 0;
                setupObject.SiteVisitId = TestHelper.TestGuid1;
                iba.AddToPointSurvey_ado1(setupObject);
            });
            List <PointSurvey_ado> PointSurveyAdolist = DbTestHelper.LoadExtraneousPointSurveys();

            PointSurveyMapper.Delete(new FiftyMeterPointSurvey()
            {
                Id = setupObject.EventId
            });

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PointSurveyQuery = from PointSurveys in iba.PointSurvey_ado1 select PointSurveys;
                Assert.IsNotNull(PointSurveyQuery, "Query result is null");
                Assert.AreEqual(PointSurveyAdolist.Count(), PointSurveyQuery.Count(), "Wrong number of results in query");
                validateExtraPointSurveyAdos(PointSurveyAdolist, PointSurveyQuery);
            }
        }
        /// <summary>
        /// Loads extra PointSurvey objects to improve testing
        /// </summary>
        /// <returns>
        /// List of <see cref="PointSurvey_ado"/> objects
        /// </returns>
        public static List <PointSurvey_ado> LoadExtraneousPointSurveys()
        {
            List <PointSurvey_ado> surveyList = new List <PointSurvey_ado>();

            PointSurvey_ado extra1 = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid1, TestHelper.TestGuid1, DateTime.Now, DateTime.Now.AddMinutes(5));

            extra1.NoiseCode   = 0;
            extra1.SiteVisitId = TestHelper.TestGuid1;
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToPointSurvey_ado1(extra1);
            });
            surveyList.Add(extra1);

            PointSurvey_ado extra2 = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid2, TestHelper.TestGuid2, DateTime.Now.AddMinutes(10), DateTime.Now.AddMinutes(15));

            extra2.NoiseCode   = 0;
            extra2.SiteVisitId = TestHelper.TestGuid1;
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToPointSurvey_ado1(extra2);
            });
            surveyList.Add(extra2);

            return(surveyList);
        }
Beispiel #3
0
 private static void validateObjectEquality(FiftyMeterPointSurvey survey, PointSurvey_ado adoPointSurvey)
 {
     Assert.IsNotNull(adoPointSurvey, "There is no PointSurvey with the ID to test for");
     Assert.AreEqual(TestHelper.TestString(survey.EndTimeStamp.Value), TestHelper.TestString(adoPointSurvey.EndTime), "EndTimeStamp");
     Assert.AreEqual(survey.Id, adoPointSurvey.EventId, "PointSurveyId");
     Assert.AreEqual(survey.LocationId, adoPointSurvey.LocationId, "LocationId");
     Assert.AreEqual(TestHelper.TestString(survey.StartTimeStamp.Value), TestHelper.TestString(adoPointSurvey.StartTime), "StartTimeStamp");
     Assert.AreEqual(survey.NoiseCode, adoPointSurvey.NoiseCode, "NoiseCode");
 }
        /// <summary>
        /// Loads a single PointSurvey to the database
        /// </summary>
        /// <param name="endDateTime"></param>
        /// <param name="startdateTime"></param>
        /// <param name="locationId"></param>
        /// <param name="siteVisitId"></param>
        /// <param name="pointSurveyId">Guid</param>
        public static PointSurvey_ado LoadSinglePointSurvey(Guid pointSurveyId, Guid siteVisitId, Guid locationId, DateTime startdateTime, DateTime endDateTime)
        {
            PointSurvey_ado ado = null;

            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                ado             = PointSurvey_ado.CreatePointSurvey_ado(pointSurveyId, locationId, startdateTime, endDateTime);
                ado.SiteVisitId = siteVisitId;
                iba.AddToPointSurvey_ado1(ado);
            });

            return(ado);
        }
Beispiel #5
0
 private static void validateExtraPointSurveyAdos(List <PointSurvey_ado> extraList, IQueryable <PointSurvey_ado> PointSurveyQuery)
 {
     foreach (PointSurvey_ado extra in extraList)
     {
         PointSurvey_ado adoPointSurvey = PointSurveyQuery.First(x => x.EventId == extra.EventId);
         Assert.IsNotNull(adoPointSurvey, "There is no longer an object with id " + extra.EventId.ToString());
         Assert.AreEqual(TestHelper.TestString(extra.EndTime), TestHelper.TestString(adoPointSurvey.EndTime), "EndTime for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.EventId, adoPointSurvey.EventId, "EventId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.LocationId, adoPointSurvey.LocationId, "LocationId for id " + extra.EventId.ToString());
         Assert.AreEqual(extra.NoiseCode, adoPointSurvey.NoiseCode, "NoiseCode for id " + extra.EventId.ToString());
         Assert.AreEqual(TestHelper.TestString(extra.StartTime), TestHelper.TestString(adoPointSurvey.StartTime), "StartTime for id " + extra.EventId.ToString());
     }
 }
        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);
        }
Beispiel #7
0
        public void t_SelectAllForEvent_SiteVisit()
        {
            Guid siteVisitid = DbTestHelper.TestGuid3;
            DbTestHelper.LoadSingleSiteVisit(siteVisitid);
            Guid eventId = DbTestHelper.TestGuid1;
            Guid eventId2 = DbTestHelper.TestGuid2;
            Guid speciesId1 = new Guid(DbTestHelper.SPECIES_1_ID);
            Guid speciesId2 = new Guid(DbTestHelper.SPECIES_2_ID);
            string speciesCode1 = DbTestHelper.SPECIES_1_CODE;
            string speciesCode2 = DbTestHelper.SPECIES_2_CODE;
            string comments1 = string.Empty;
            string comments2 = "comments 2";

            DbTestHelper.LoadAdoObjects((IbaUnitTestEntities iba) =>
                {
                    PointSurvey_ado survey1 = PointSurvey_ado.CreatePointSurvey_ado(eventId, true, DbTestHelper.TestGuid2, DateTime.Now, DateTime.Now.AddHours(2));
                    survey1.SiteVisitId = siteVisitid;
                    iba.AddToPointSurvey_ado1(survey1);
                    PointSurvey_ado survey2 = PointSurvey_ado.CreatePointSurvey_ado(eventId2, true, DbTestHelper.TestGuid2, DateTime.Now, DateTime.Now.AddHours(2));
                    survey2.SiteVisitId = siteVisitid;
                    iba.AddToPointSurvey_ado1(survey2);
                });


            multiBackdoorSetup(eventId, speciesId1, speciesId2, comments1, comments2);
            multiBackdoorSetup(eventId2, speciesId1, speciesId2, comments1, comments2);


            // Run the system
            List<FiftyMeterDataEntry> entryList = FiftyMeterDataEntryMapper.SelectAllForEvent(siteVisitid);

            // Validate results
            Assert.IsNotNull(entryList, "entrylist is null");
            Assert.AreEqual(4, entryList.Count(), "entrylist does not contain 4 objects");

            // TODO: need to make sure the grouping handles different PointSurveyId values, separating them appropriately.

            ValidateFiftyMeterDataEntryObject(eventId, comments1, entryList, "1", 0, 1, speciesCode1);
            ValidateFiftyMeterDataEntryObject(eventId, comments2, entryList, "2", 2, 1, speciesCode2);
            ValidateFiftyMeterDataEntryObject(eventId2, comments1, entryList, "1", 0, 1, speciesCode1);
            ValidateFiftyMeterDataEntryObject(eventId2, comments2, entryList, "2", 2, 1, speciesCode2);
        }
Beispiel #8
0
        public void t_PointSurvey_Select_ByGuid()
        {
            PointSurvey_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid3, TestHelper.TestGuid1,
                                                                    DateTime.Now, DateTime.Now.AddMinutes(5));
                setupObject.NoiseCode   = 0;
                setupObject.SiteVisitId = TestHelper.TestGuid1;
                iba.AddToPointSurvey_ado1(setupObject);
            });
            List <PointSurvey_ado> extraList = DbTestHelper.LoadExtraneousPointSurveys();

            // Exercise the test
            FiftyMeterPointSurvey resultObject = PointSurveyMapper.Select(setupObject.EventId);

            validateObjectEquality(resultObject, setupObject);
        }
Beispiel #9
0
        public void t_PointSurvey_Save_Update()
        {
            PointSurvey_ado setupObject = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                setupObject = PointSurvey_ado.CreatePointSurvey_ado(TestHelper.TestGuid3, TestHelper.TestGuid1,
                                                                    DateTime.Now, DateTime.Now.AddMinutes(5));
                setupObject.NoiseCode   = 0;
                setupObject.SiteVisitId = TestHelper.TestGuid1;
                iba.AddToPointSurvey_ado1(setupObject);
            });
            List <PointSurvey_ado> extraList = DbTestHelper.LoadExtraneousPointSurveys();

            // Setup object to be saved. Change everything except the Id.
            FiftyMeterPointSurvey toSave = new FiftyMeterPointSurvey()
            {
                Id             = setupObject.EventId,
                EndTimeStamp   = setupObject.EndTime.AddHours(1),
                LocationId     = TestHelper.TestGuid4,
                NoiseCode      = 0,
                StartTimeStamp = setupObject.StartTime.AddHours(0.5)
            };

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

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PointSurveyQuery = from PointSurveys in iba.PointSurvey_ado1 select PointSurveys;
                Assert.IsNotNull(PointSurveyQuery, "Query result is null");
                Assert.AreEqual(extraList.Count() + 1, PointSurveyQuery.Count(), "Wrong number of results in query");
                PointSurvey_ado adoPointSurvey = PointSurveyQuery.First(x => x.EventId == setupObject.EventId);
                validateObjectEquality(toSave, adoPointSurvey);

                validateExtraPointSurveyAdos(extraList, PointSurveyQuery);
            }
        }
Beispiel #10
0
        public void t_PointSurvey_Save_Insert()
        {
            FiftyMeterPointSurvey toInsert = new FiftyMeterPointSurvey()
            {
                Id             = TestHelper.TestGuid1,
                EndTimeStamp   = DateTime.Now,
                LocationId     = TestHelper.TestGuid4,
                NoiseCode      = 0,
                StartTimeStamp = DateTime.Now.AddHours(-2)
            };

            PointSurveyMapper.Insert(toInsert);

            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PointSurveyQuery = from PointSurveys in iba.PointSurvey_ado1 select PointSurveys;
                Assert.IsNotNull(PointSurveyQuery, "Query result is null");
                Assert.AreEqual(1, PointSurveyQuery.Count(), "Wrong number of results in query");
                PointSurvey_ado adoPointSurvey = PointSurveyQuery.First();
                validateObjectEquality(toInsert, adoPointSurvey);
            }
        }
        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");
        }