コード例 #1
0
        public void Transformations_TransformationRuleT2_MarkInstantiatingFor3()
        {
            bool selectorCalled = false;

            ruleT2.MarkInstantiatingFor(baseT2, (s1, s2) => { selectorCalled = true; return(true); });

            Assert.AreEqual(1, baseT2.Children.Count);
            Assert.AreEqual(baseT2, ruleT2.BaseRule);

            Assert.IsTrue(baseT2.Children.Contains(ruleT2));

            var filter = ruleT2.BaseFilter;

            Assert.IsNotNull(filter);

            Assert.IsFalse(ruleT2.IsInstantiating(c_a));
            Assert.IsTrue(ruleT2.IsInstantiating(c_ab));

            Assert.IsTrue(selectorCalled);

            selectorCalled = false;

            Assert.IsFalse(ruleT2.IsInstantiating(c_abc));
            Assert.IsFalse(ruleT2.IsInstantiating(c_other1));
            Assert.IsFalse(ruleT2.IsInstantiating(c_other2));
            Assert.IsFalse(ruleT2.IsInstantiating(c_otherN));

            Assert.IsFalse(selectorCalled);
        }