Пример #1
0
        public void TestRuleWithParenthesesAndBarsWorksAgain()
        {
            GlobalContext gc = new GlobalContext();

            var env    = gc.CurrentGraph;
            var a      = env.CreateItem(ItemType.SIMPLE, "a");
            var b      = env.CreateItem(ItemType.SIMPLE, "b");
            var deps   = new[] { env.CreateDependency(a, b, null, "", 1) };
            var ignore = new List <Dependency>();

            var cd = new CheckDeps();

            cd.Configure(gc, "{ -rd $SIMPLE--->SIMPLE a--->(a|b) }".Replace(" ", "\r\n"), true);
            cd.Transform(gc, deps, "", ignore, s => null);

            Assert.IsFalse(deps.Any(d => d.BadCt > 0));
        }
Пример #2
0
        public void TestIndirectRulesOverTwoLevels()
        {
            GlobalContext gc = new GlobalContext();

            var env  = gc.CurrentGraph;
            var a    = env.CreateItem(ItemType.SIMPLE, "a");
            var b    = env.CreateItem(ItemType.SIMPLE, "b");
            var deps = new[] { env.CreateDependency(a, b, null, "", 1) };

            var cd = new CheckDeps();

            cd.Configure(gc, @"{
    -rd 
    $SIMPLE ---> SIMPLE 
    x ---> b
    y ===> x
    a ===> y
}", true);
            var ignore = new List <Dependency>();

            cd.Transform(gc, deps, "", ignore, s => null);

            Assert.IsFalse(deps.Any(d => d.BadCt > 0));
        }