Exemple #1
0
        static void Main(string[] args)
        {
            var perfectDisjunctionNormalForm = new PerfectDisjunctionNormalFormBinary(
                BitTools.GetOutputBool(KaterynaBodnarchukTask.KateBodnarchukCase));

            uint input  = uint.Parse(Console.ReadLine());
            bool result = perfectDisjunctionNormalForm.Evaluate(input);

            Console.WriteLine(result ? 1 : 0);
            Console.ReadKey();
        }
        public void TestPerfectDisjunctionNormalForm()
        {
            bool[] outputsBool = BitTools.GetOutputBool(KaterynaBodnarchukTask.KateBodnarchukCase);
            var    perfectDisjunctionNormalForm = new PerfectDisjunctionNormalFormBinary(outputsBool);
            var    perfectConjunctionNormalForm = new PerfectConjunctionNormalFormBinary(outputsBool);

            for (uint input = 0; input < BitTools.rowsCount; input++)
            {
                bool expected = outputsBool[input];
                bool actualPerfectDisjunctionNormalForm = perfectDisjunctionNormalForm.Evaluate(input);
                bool actualPerfectConjunctionNormalForm = perfectConjunctionNormalForm.Evaluate(input);
                Assert.AreEqual(expected, actualPerfectDisjunctionNormalForm);
                Assert.AreEqual(expected, actualPerfectConjunctionNormalForm);
            }
        }