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()); }