コード例 #1
0
        public void TestDistribution()
        {
            RephraserType r1 = new Distribution(),
                r2 = new Distribution(),
                r3 = new Distribution();

            r1.AddLeftBlock(new Block("a"))
                .AddLogic(PropositionalLogic.Conjunction)
                .AddRightBlock(new Block("b"));

            r2.AddLeftBlock(new Block("a"))
                .AddLogic(PropositionalLogic.Disjunction)
                .AddRightBlock(ClauseParser.Parse("(b&(c||d))"));

            r3.AddLeftBlock(ClauseParser.Parse("(b&d)"))
                .AddLogic(PropositionalLogic.Disjunction)
                .AddRightBlock(new Block("c"));

            Assert.AreEqual("a&b", r1.Translate().ToString());
            Assert.AreEqual("(a||b)&(a||(c||d))", r2.Translate().ToString());
            Assert.AreEqual("(c||b)&(c||d)", r3.Translate().ToString());
        }