示例#1
0
        public void FromToBinary()
        {
            Guid newGuid = Guid.NewGuid();
            var  dd      = new DesignDescriptor(newGuid, "folder", "filename");

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(dd);
        }
示例#2
0
        public void Test_CellSpatialFilter_FromToBinary()
        {
            var data = new CellSpatialFilter
            {
                PositionX       = 1,
                PositionY       = 2,
                PositionRadius  = 3,
                IsAlignmentMask = true,
                IsPositional    = true,
                Fence           = new Fence(0, 0, 100, 100),
                AlignmentFence  = new Fence(0, 0, 100, 100),
                IsSpatial       = true,
                AlignmentDesignMaskDesignUID = Guid.NewGuid(),
                CoordsAreGrid = true,
                EndStation    = 10,
                IsDesignMask  = true,
                IsSquare      = true,
                LeftOffset    = 11,
                OverrideSpatialCellRestriction = new BoundingIntegerExtent2D(1, 1, 10, 10),
                RightOffset  = 12,
                StartStation = 13,
                SurfaceDesignMaskDesignUid = Guid.NewGuid()
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(data);
        }
示例#3
0
        public void FromToBinary()
        {
            var data = new CellPassAttributeFilterModel
            {
                GPSAccuracy  = GPSAccuracy.Fine,
                MachinesList = new Guid[] { Guid.NewGuid(), Guid.NewGuid() },
                SurveyedSurfaceExclusionList = new Guid[] { Guid.NewGuid(), Guid.NewGuid() },
                LayerID                         = 1,
                GPSTolerance                    = 2,
                HasDesignFilter                 = true,
                DesignNameID                    = 3,
                ElevationMappingMode            = ElevationMappingMode.LatestElevation,
                ElevationRangeDesign            = new DesignOffset(Guid.NewGuid(), 1.5),
                ElevationRangeLevel             = 4.0,
                ElevationRangeOffset            = 5.0,
                ElevationRangeThickness         = 6.0,
                ElevationType                   = ElevationType.Highest,
                EndTime                         = Consts.MAX_DATETIME_AS_UTC,
                FilterTemperatureByLastPass     = true,
                GCSGuidanceMode                 = AutomaticsType.Manual,
                GPSAccuracyIsInclusive          = true,
                GPSToleranceIsGreaterThan       = true,
                HasCompactionMachinesOnlyFilter = true,
                HasElevationMappingModeFilter   = true,
                HasElevationRangeFilter         = true,
                HasElevationTypeFilter          = true,
                HasGCSGuidanceModeFilter        = true,
                HasGPSAccuracyFilter            = true,
                HasGPSToleranceFilter           = true,
                HasLayerIDFilter                = true,
                HasLayerStateFilter             = true,
                HasMachineDirectionFilter       = true,
                HasMachineFilter                = true,
                HasPassCountRangeFilter         = true,
                HasPassTypeFilter               = true,
                HasPositioningTechFilter        = true,
                HasTemperatureRangeFilter       = true,
                HasTimeFilter                   = true,
                HasVibeStateFilter              = true,
                LayerState                      = LayerState.On,
                MachineDirection                = MachineDirection.Reverse,
                MaterialTemperatureMax          = 10,
                MaterialTemperatureMin          = 11,
                PassCountRangeMax               = 13,
                PassCountRangeMin               = 12,
                PassTypeSet                     = PassTypeSet.Rear | PassTypeSet.Front,
                PositioningTech                 = PositioningTech.UTS,
                RequestedGridDataType           = GridDataType.CellProfile,
                ReturnEarliestFilteredCellPass  = true,
                StartTime                       = TRex.Common.Consts.MIN_DATETIME_AS_UTC,
                VibeState                       = VibrationState.On
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(data);
        }
示例#4
0
        public void FromToBinary()
        {
            Guid id  = Guid.NewGuid();
            var  arg = new SurfaceElevationPatchArgument(id, 1, 2, 3.0, SurveyedSurfacePatchType.EarliestSingleElevation,
                                                         SubGridTreeBitmapSubGridBits.FullMask, new TRex.SurveyedSurfaces.SurveyedSurfaces
            {
                new TRex.SurveyedSurfaces.SurveyedSurface(Guid.NewGuid(), new DesignDescriptor(Guid.NewGuid(), "Folder", "FileName"), DateTime.UtcNow, BoundingWorldExtent3D.Full())
            });

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(arg);
        }
示例#5
0
        public void ReadWriteBinarizable()
        {
            SimpleBinarizableInstanceTester.TestClass <RebuildSiteModelTAGNotifierListener>("Empty RebuildSiteModelTAGNotifierListener not same after round trip serialisation");

            var listener = new RebuildSiteModelTAGNotifierListener();

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(listener);

            var listener2 = new RebuildSiteModelTAGNotifierListener {
                MessageTopicName = "TestMessageTopic"
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(listener2);
        }
示例#6
0
        public void FromToBinary()
        {
            Guid newGuid = Guid.NewGuid();

            var evt = new DesignChangedEvent
            {
                SiteModelUid  = newGuid,
                DesignUid     = newGuid,
                DesignRemoved = true,
                FileType      = ImportedFileType.DesignSurface
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(evt);
        }
示例#7
0
        public void ReadWriteBinarizable()
        {
            SimpleBinarizableInstanceTester.TestClass <DesignChangedEventListener>("Empty DesignChangedEventListener not same after round trip serialisation");

            var listener = new DesignChangedEventListener();

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(listener);

            var listener2 = new DesignChangedEventListener("GridName")
            {
                MessageTopicName = "TestMessageTopic"
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(listener2);
        }
示例#8
0
        public void Test_FilterSet_FromToBinary_FailWithTooManyFilters()
        {
            var data = new FilterSet(Enumerable.Range(0, FilterSet.MAX_REASONABLE_NUMBER_OF_FILTERS + 1)
                                     .Select(x =>
                                             new CombinedFilter
            {
                AttributeFilter =
                {
                    GPSAccuracy     = GPSAccuracy.Fine,
                    HasDesignFilter = true
                },
                SpatialFilter = new CellSpatialFilter
                {
                    AlignmentFence = new Fence(0, 0, 100 + x, 100 + x)
                }
            }).ToArray());

            Action act = () => TestBinarizable_ReaderWriterHelper.RoundTripSerialise(data);

            act.Should().Throw <TRexException>().WithMessage("Invalid number of filters * in deserialisation");
        }
示例#9
0
        public void Test_FilterSet_FromToBinary()
        {
            var data = new FilterSet(new ICombinedFilter[]
            {
                new CombinedFilter
                {
                    AttributeFilter =
                    {
                        GPSAccuracy     = GPSAccuracy.Fine,
                        HasDesignFilter = true,
                        MachinesList    = new [] { Guid.NewGuid(), Guid.NewGuid() },
                        SurveyedSurfaceExclusionList = new [] { Guid.NewGuid(),Guid.NewGuid()         }
                    },
                    SpatialFilter = new CellSpatialFilter
                    {
                        AlignmentFence = new Fence(0, 0, 100, 100)
                    }
                },
            });

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(data);
        }
示例#10
0
        public void FromToBinary()
        {
            var baseTime = DateTime.UtcNow;
            var info     = new FilteredMultiplePassInfo();

            info.SetFilteredPasses(Enumerable.Range(0, 2).Select(x => new FilteredPassData
            {
                FilteredPass = new CellPass
                {
                    Time = baseTime.AddSeconds(x),
                    CCV  = (short)x
                },
                TargetValues = new CellTargets
                {
                    TargetCCV = (short)(10 + x)
                },
                EventValues = new CellEvents(),
                MachineType = MachineType.Dozer
            }).ToArray());

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(info);
        }
示例#11
0
        public void FromToBinary_WithNullMask()
        {
            var newGuid = Guid.NewGuid();

            var evt = new SiteModelAttributesChangedEvent
            {
                AlignmentsModified          = true,
                CsibModified                = true,
                DesignsModified             = true,
                ExistenceMapChangeMask      = new byte[0],
                ExistenceMapModified        = true,
                MachineDesignsModified      = true,
                MachineTargetValuesModified = true,
                MachinesModified            = true,
                ProofingRunsModified        = true,
                SurveyedSurfacesModified    = true,
                SiteModelMarkedForDeletion  = true,
                SiteModelID = newGuid
            };

            TestBinarizable_ReaderWriterHelper.RoundTripSerialise(evt);
        }