예제 #1
0
        public void CloneHydroNetworkWithLinkSources()
        {
            var network   = HydroNetworkHelper.GetSnakeHydroNetwork(1);
            var catchment = new Catchment();

            network.Catchments.Add(catchment);
            var wasteWaterTreatmentPlant = new WasteWaterTreatmentPlant();

            network.WasteWaterTreatmentPlants.Add(wasteWaterTreatmentPlant);

            var lateral = new LateralSource();

            network.Branches.First().BranchFeatures.Add(lateral);

            catchment.OutgoingLinks.Add(wasteWaterTreatmentPlant);
            catchment.OutgoingLinks.Add(lateral);
            wasteWaterTreatmentPlant.IncomingLinks.Add(catchment);
            lateral.IncomingLinks.Add(catchment);

            var clone = (HydroNetwork)network.Clone();
            var links = TestReferenceHelper.SearchObjectInObjectGraph(catchment, clone);

            links.ForEach(Console.WriteLine);
            Assert.AreEqual(0, links.Count);

            Assert.AreEqual(2, clone.Catchments.First().OutgoingLinks.Count);
            Assert.AreEqual(1, clone.WasteWaterTreatmentPlants.First().IncomingLinks.Count);
            Assert.AreEqual(1, clone.LateralSources.First().IncomingLinks.Count);
        }
예제 #2
0
        public void LateralSourceCheckGeometry()
        {
            var hydroNetwork = HydroNetworkHelper.GetSnakeHydroNetwork(new Point(0, 0), new Point(200, 0), new Point(200, 200));
            var branch1      = hydroNetwork.Branches[0];

            var lateralSource = new LateralSource
            {
                Name   = "Source1",
                Offset = 10,
            };

            branch1.BranchFeatures.Add(lateralSource);
            lateralSource.Branch    = branch1;
            lateralSource.IsDiffuse = true;

            //needed here; this is actually done via LateralSourceProperties
            HydroNetworkEditorHelper.UpdateBranchFeatureGeometry(lateralSource, 40);
            var geometry = lateralSource.Geometry;

            Assert.AreEqual(typeof(LineString), geometry.GetType());
            Assert.AreEqual(40.0, geometry.Length);

            lateralSource.IsDiffuse = false;
            HydroNetworkEditorHelper.UpdateBranchFeatureGeometry(lateralSource, 0);
            Assert.AreEqual(typeof(Point), lateralSource.Geometry.GetType());
        }
예제 #3
0
        public void Clone()
        {
            var lateralSource = new LateralSource()
            {
                Name = "Neem"
            };
            var clone = (LateralSource)lateralSource.Clone();

            Assert.AreEqual(clone.Name, lateralSource.Name);
            Assert.AreEqual(lateralSource.IsDiffuse, clone.IsDiffuse);
        }
예제 #4
0
        public void DefaultLateralSource()
        {
            LateralSource lateralSource = new LateralSource();

            Assert.IsTrue(lateralSource.Validate().IsValid);
        }