public void TestCaseImplicantTableConstructsAndPrintsCorrectlyForThreeLiterals()
        {
            var resultString = new ImplicantTable(new List<Implicant>()
            {
                new Implicant(new[] { Literal.Negative, Literal.Negative, Literal.Negative}),
                new Implicant(new[] { Literal.Negative, Literal.Negative, Literal.Positive}),
                new Implicant(new[] { Literal.Negative, Literal.Positive, Literal.Negative}),
                new Implicant(new[] { Literal.Negative, Literal.Positive, Literal.Positive}),
                new Implicant(new[] { Literal.Positive, Literal.Negative, Literal.Negative}),
                new Implicant(new[] { Literal.Positive, Literal.Negative, Literal.Positive}),
                new Implicant(new[] { Literal.Positive, Literal.Positive, Literal.Negative}),
                new Implicant(new[] { Literal.Positive, Literal.Positive, Literal.Positive})
            }).ToString();

            Assert.AreEqual(ExpectedString, resultString);
        }
        public void TestCaseImplicantTablePrimeImplicants()
        {
            var expectedPrimeImplicant = new Implicant(new[] {Literal.DontCare, Literal.DontCare, Literal.DontCare});
            var implicantTable = new ImplicantTable(new List<Implicant>()
            {
                new Implicant(new[] { Literal.Negative, Literal.Negative, Literal.Negative}),
                new Implicant(new[] { Literal.Negative, Literal.Negative, Literal.Positive}),
                new Implicant(new[] { Literal.Negative, Literal.Positive, Literal.Negative}),
                new Implicant(new[] { Literal.Negative, Literal.Positive, Literal.Positive}),
                new Implicant(new[] { Literal.Positive, Literal.Negative, Literal.Negative}),
                new Implicant(new[] { Literal.Positive, Literal.Negative, Literal.Positive}),
                new Implicant(new[] { Literal.Positive, Literal.Positive, Literal.Negative}),
                new Implicant(new[] { Literal.Positive, Literal.Positive, Literal.Positive})
            });

            var primeImplicants = implicantTable.GetPrimeImplicants();
            var primeImplicant = primeImplicants[0];

            Assert.AreEqual(expectedPrimeImplicant, primeImplicant);
        }