예제 #1
0
        public void Creation()
        {
            var ss = new TRex.SurveyedSurfaces.SurveyedSurfaces();

            ss.Should().NotBeNull();
            ss.Count.Should().Be(0);
        }
예제 #2
0
        public void FilterSurveyedSurfaceDetails_WithTimeFilter_AllOfTime_NoExclusions()
        {
            var date = DateTime.UtcNow;
            var ss   = MakeSurveyedSurfacesSet(date);

            var filtered = new TRex.SurveyedSurfaces.SurveyedSurfaces();

            ss.FilterSurveyedSurfaceDetails(true, Consts.MIN_DATETIME_AS_UTC, Consts.MAX_DATETIME_AS_UTC, false, filtered, new Guid[0]);

            filtered.Should().BeEquivalentTo(ss);
        }
예제 #3
0
        public void FilterSurveyedSurfaceDetails_NoTimeFilter_WithExclusions_NonOverlapped()
        {
            var date = DateTime.UtcNow;
            var ss   = MakeSurveyedSurfacesSet(date);

            var filtered = new TRex.SurveyedSurfaces.SurveyedSurfaces();

            // Include the first two surveyed surfaces in the list, and exclude the last one in the surveyed surfaces list
            ss.FilterSurveyedSurfaceDetails(false, Consts.MIN_DATETIME_AS_UTC, Consts.MIN_DATETIME_AS_UTC, false, filtered, new[] { ss.Last().ID });

            filtered.Count.Should().Be(ss.Count - 1);
            filtered.Should().BeEquivalentTo(ss.Take(ss.Count - 1));
        }
예제 #4
0
        public void FilterSurveyedSurfaceDetails_WithTimeFilter_RestrictedTime_WithExclusions_NonOverlapped()
        {
            var date = DateTime.UtcNow;
            var ss   = MakeSurveyedSurfacesSet(date);

            var filtered = new TRex.SurveyedSurfaces.SurveyedSurfaces();

            // Include the first two surveyed surfaces in the list, and exclude the last one in the surveyed surfaces list
            ss.FilterSurveyedSurfaceDetails(true, date, date.AddMinutes(1), false, filtered, new[] { ss.Last().ID });

            filtered.Count.Should().Be(2);
            filtered.Should().BeEquivalentTo(ss.Take(2));
        }
예제 #5
0
        public void ProcessSurveyedSurfacesForFilter_WithoutTimeFilter_WithExistenceMap_WithMatchingComparisonList()
        {
            var date         = DateTime.UtcNow;
            var filteredList = new TRex.SurveyedSurfaces.SurveyedSurfaces();
            var filter       = new CombinedFilter();
            var siteModel    = DITAGFileAndSubGridRequestsWithIgniteFixture.NewEmptyModel();

            MakeSurveyedSurfacesSetInSiteModel(date, siteModel);

            var result = siteModel.SurveyedSurfaces.ProcessSurveyedSurfacesForFilter(siteModel.ID, filter, siteModel.SurveyedSurfaces, filteredList, siteModel.ExistenceMap);

            result.Should().BeTrue();
            filteredList.Should().BeEquivalentTo(siteModel.SurveyedSurfaces);
        }
예제 #6
0
        public void FilterSurveyedSurfaceDetails_WithTimeFilter_AllOfTime_WithExclusions()
        {
            var date = DateTime.UtcNow;
            var ss   = MakeSurveyedSurfacesSet(date);

            var filtered = new TRex.SurveyedSurfaces.SurveyedSurfaces();

            // Exclude all surveyed surfaces after first two
            ss.FilterSurveyedSurfaceDetails(true, Consts.MIN_DATETIME_AS_UTC, Consts.MAX_DATETIME_AS_UTC, false, filtered,
                                            ss.Skip(2).Select(x => x.ID).ToArray());

            filtered.Count.Should().Be(2);
            filtered.Should().BeEquivalentTo(ss.Take(2));
        }