コード例 #1
0
        public void CanHaveSummerDikeIfInnerDefinitionIsZw()
        {
            var innerDefinition = CrossSectionDefinitionZW.CreateDefault();
            var proxyDefinition = new CrossSectionDefinitionProxy(innerDefinition);

            Assert.IsTrue(proxyDefinition.CanHaveSummerDike);
            proxyDefinition.InnerDefinition = CrossSectionDefinitionYZ.CreateDefault();
            Assert.IsFalse(proxyDefinition.CanHaveSummerDike);
        }
コード例 #2
0
        public void ChangeOfInnerDefinitionFiresDataChanged()
        {
            //functionality is needed because datachanged is used to invalidate the geometry of the cs.
            int callCount       = 0;
            var innerDefinition = CrossSectionDefinitionZW.CreateDefault();
            var proxyDefinition = new CrossSectionDefinitionProxy(innerDefinition);

            proxyDefinition.DataChanged    += (s, e) => { callCount++; };
            proxyDefinition.InnerDefinition = CrossSectionDefinitionYZ.CreateDefault();
            Assert.AreEqual(1, callCount);
        }
コード例 #3
0
        public void MakeDefinitionSharedCopiesDefinitionToNetwork()
        {
            var crossSectionDefinitionYZ = CrossSectionDefinitionYZ.CreateDefault();

            var hydroNetwork = HydroNetworkHelper.GetSnakeHydroNetwork(1);

            var crossSection = new CrossSection(crossSectionDefinitionYZ)
            {
                Branch = hydroNetwork.Channels.First()
            };

            Assert.AreEqual(0, hydroNetwork.SharedCrossSectionDefinitions.Count);

            crossSection.ShareDefinitionAndChangeToProxy();

            Assert.AreEqual(1, hydroNetwork.SharedCrossSectionDefinitions.Count);
            Assert.AreEqual(crossSectionDefinitionYZ, hydroNetwork.SharedCrossSectionDefinitions.First());
        }
コード例 #4
0
        public void MakeDefinitionLocalCreatesAShiftedCopyOfInnerDefinition()
        {
            var innerDefinition = CrossSectionDefinitionYZ.CreateDefault();

            //create a shifted proxy
            const double levelShift = 1.0;
            var          proxy      = new CrossSectionDefinitionProxy(innerDefinition)
            {
                LevelShift = levelShift
            };

            var hydroNetwork = HydroNetworkHelper.GetSnakeHydroNetwork(1);

            var crossSection = new CrossSection(proxy)
            {
                Branch = hydroNetwork.Channels.First()
            };

            crossSection.MakeDefinitionLocal();

            Assert.IsFalse(crossSection.Definition.IsProxy);
            Assert.IsTrue(crossSection.Definition is CrossSectionDefinitionYZ);
            Assert.AreEqual(crossSection.Definition.Profile, innerDefinition.Profile.Select(c => new Coordinate(c.X, c.Y + levelShift)).ToList());
        }
コード例 #5
0
        public void ProxyDoesLevelShiftYZ()
        {
            var innerDefinition = CrossSectionDefinitionYZ.CreateDefault();

            AssertLevelShiftsWork(innerDefinition);
        }