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