当前位置: 首页>>代码示例>>C#>>正文


C# CalculationEngine.Remove方法代码示例

本文整理汇总了C#中CalculationEngine.Remove方法的典型用法代码示例。如果您正苦于以下问题:C# CalculationEngine.Remove方法的具体用法?C# CalculationEngine.Remove怎么用?C# CalculationEngine.Remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CalculationEngine的用法示例。


在下文中一共展示了CalculationEngine.Remove方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestRemove1

        public void TestRemove1()
        {
            CalculationEngine ce = new CalculationEngine();
            ExpressionContext context = new ExpressionContext();
            VariableCollection variables = context.Variables;

            ce.Add("a", "100", context);
            ce.Add("b", "200", context);
            ce.Add("c", "a + b", context);
            ce.Add("d", "300", context);
            ce.Add("e", "c + d", context);

            ce.Remove("a");
            // Only b and d should remain
            Assert.AreEqual(2, ce.Count);

            ce.Remove("b");
            Assert.AreEqual(1, ce.Count);

            ce.Remove("d");
            Assert.AreEqual(0, ce.Count);

            // b and d should have no dependents or precedents
            Assert.IsFalse(ce.HasDependents("b"));
            Assert.IsFalse(ce.HasDependents("d"));
            Assert.IsFalse(ce.HasPrecedents("b"));
            Assert.IsFalse(ce.HasPrecedents("d"));
        }
开发者ID:jonimoreira,项目名称:TestTFS,代码行数:28,代码来源:CalcEngineTestFixture.cs

示例2: TestRemove4

        public void TestRemove4()
        {
            CalculationEngine ce = new CalculationEngine();
            ExpressionContext context = new ExpressionContext();
            VariableCollection variables = context.Variables;

            ce.Add("a", "100", context);
            ce.Add("b", "200", context);
            ce.Add("c", "a + b", context);
            ce.Add("d", "300 + c", context);
            ce.Add("e", "c + d", context);

            ce.Remove("a");
            Assert.AreEqual(1, ce.Count);

            ce.Remove("b");
            Assert.AreEqual(0, ce.Count);
        }
开发者ID:jonimoreira,项目名称:TestTFS,代码行数:18,代码来源:CalcEngineTestFixture.cs

示例3: TestDependencyManagement

        public void TestDependencyManagement()
        {
            // Test that we are keeping accurate stats on our dependencies

            CalculationEngine engine = new CalculationEngine();
            ExpressionContext context = new ExpressionContext();

            engine.Add("a", "100", context);
            engine.Add("b", "100", context);

            // Nothing should point to a and b
            Assert.IsFalse(engine.HasPrecedents("a"));
            Assert.IsFalse(engine.HasPrecedents("b"));
            Assert.IsFalse(engine.HasDependents("a"));
            Assert.IsFalse(engine.HasDependents("b"));

            engine.Add("c", "a + b", context);
            engine.Add("d", "a + c", context);

            // a and b still have nothing pointing to them
            Assert.IsFalse(engine.HasPrecedents("a"));
            Assert.IsFalse(engine.HasPrecedents("b"));
            // but they have dependents
            Assert.IsTrue(engine.HasDependents("a"));
            Assert.IsTrue(engine.HasDependents("b"));

            // c and d have precedents
            Assert.IsTrue(engine.HasPrecedents("d"));
            Assert.IsTrue(engine.HasPrecedents("c"));
            // and only c should have dependents
            Assert.IsTrue(engine.HasDependents("c"));
            Assert.IsFalse(engine.HasDependents("d"));

            // test our counts
            Assert.AreEqual(2, engine.GetDependents("a").Length);
            Assert.AreEqual(1, engine.GetDependents("b").Length);
            Assert.AreEqual(1, engine.GetDependents("c").Length);
            Assert.AreEqual(0, engine.GetDependents("d").Length);

            Assert.AreEqual(0, engine.GetPrecedents("a").Length);
            Assert.AreEqual(0, engine.GetPrecedents("b").Length);
            Assert.AreEqual(2, engine.GetPrecedents("c").Length);
            Assert.AreEqual(2, engine.GetPrecedents("d").Length);

            engine.Remove("d");

            Assert.IsFalse(engine.HasDependents("c"));
            Assert.IsFalse(engine.HasDependents("d"));
            Assert.IsFalse(engine.HasPrecedents("d"));
            Assert.IsTrue(engine.HasPrecedents("c"));

            Assert.AreEqual(1, engine.GetDependents("a").Length);
            Assert.AreEqual(1, engine.GetDependents("b").Length);
            Assert.AreEqual(0, engine.GetDependents("c").Length);

            engine.Remove("c");

            Assert.IsFalse(engine.HasPrecedents("c"));
            Assert.IsFalse(engine.HasDependents("c"));
            Assert.IsFalse(engine.HasDependents("a"));
            Assert.IsFalse(engine.HasDependents("b"));

            Assert.AreEqual(0, engine.GetDependents("a").Length);
            Assert.AreEqual(0, engine.GetDependents("b").Length);

            engine.Remove("a");
            engine.Remove("b");

            Assert.IsFalse(engine.HasDependents("a"));
            Assert.IsFalse(engine.HasPrecedents("a"));
            Assert.IsFalse(engine.HasDependents("b"));
            Assert.IsFalse(engine.HasPrecedents("b"));

            Assert.AreEqual(0, engine.GetDependents("a").Length);
            Assert.AreEqual(0, engine.GetDependents("b").Length);
            Assert.AreEqual(0, engine.GetPrecedents("a").Length);
            Assert.AreEqual(0, engine.GetPrecedents("b").Length);
        }
开发者ID:jonimoreira,项目名称:TestTFS,代码行数:78,代码来源:CalcEngineTestFixture.cs


注:本文中的CalculationEngine.Remove方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。