public void TestDNFIdempotence()
        {
            Conjunction conj1 = new Conjunction(A, Aneg);
            Disjunction disj1 = new Disjunction(conj1, Bneg, Dneg, E);
            Conjunction conj2 = new Conjunction(A, Dneg, disj1);

            BooleanExpression actual   = conj2.ToDNF().ToDNF();
            BooleanExpression expected = conj2.ToDNF();

            Assert.Equal(expected, actual);

            Assert.True(actual.Is_DNF());
            Assert.True(expected.Is_DNF());
        }
        public void TestSimpleExample()
        {
            Disjunction disj1 = new Disjunction(A, Bneg);
            Conjunction conj  = new Conjunction(disj1, C);

            BooleanExpression actual = conj.ToDNF();

            BooleanExpression expected = new Disjunction(new Conjunction(A, C), new Conjunction(Bneg, C));

            Assert.True(actual.Is_DNF());
            Assert.True(expected.Is_DNF());
            Assert.Equal(expected, actual);
        }