示例#1
0
        private void PopulateTextBoxesWithValues(CompositeComponent root)
        {
            _formulaGenerator.Calculate(root);
            _formulaGenerator.Calculate(root.Nand);
            Tb_InfixFormula_Normal.Enabled    = true;
            Tb_InfixFormula_Nandified.Enabled = true;
            Tb_InfixFormula_Normal.Text       = root.InFixFormula;
            Tb_InfixFormula_Nandified.Text    = root.Nand.InFixFormula;
            Tb_TruthTableHashCode.Text        = $@"{_truthTable.GetHexadecimalHashCode()}";
            TbNormalDNF.Text              = $@"{Dnf.DnfFormula(_truthTable.DnfNormalComponents)}";
            TbSimplifiedDNF.Text          = $@"{Dnf.DnfFormula(_truthTable.DnfSimplifiedComponents)}";
            TbPropositionalVariables.Text = _binaryTreeNormal.PropositionalVariables.Get_Distinct_PropositionalVariables()
                                            .SelectMany(x => x.Symbol.ToString()).Aggregate("", (current, next) => current + next);

            BtnParseRecursively.BackColor = _truthTable.GetHexadecimalHashCode() == _truthTableNand.GetHexadecimalHashCode()
                    ? Color.MediumSeaGreen : Color.PaleVioletRed;
        }
        public void InFixFormulaTesting_OnPredicateFormula_CorrectInfixFormula(string prefixInput, string infixOutput)
        {
            //Arrange
            var formulaGenerator = new InfixFormulaGenerator();
            var binaryTree       = ParsingModule.Parse(prefixInput);

            //Act
            formulaGenerator.Calculate(binaryTree.Root);

            //Assert
            Assert.Equal(infixOutput, binaryTree.Root.InFixFormula);
        }