コード例 #1
0
 public Form1()
 {
     InitializeComponent();
     _formulaGenerator = InfixFormulaGenerator.Calculator;
     _tableaux         = new Tableaux();
     _graphImages      = new Dictionary <int, string>();
     _nandify          = new Nandify();
 }
コード例 #2
0
        public void CalculateFinalTruthValue_test()
        {
            //Arrange
            var finalVarLeft  = new FinalVar("a");
            var finalVarRight = new FinalVar("b");
            var nandifyVar    = new Nandify(finalVarLeft, finalVarRight);

            //Act
            var truthValue = nandifyVar.CalculateFinalTruthValue();

            //Assert
            Assert.IsTrue(truthValue); //The first instance is true since its 0 0
        }
コード例 #3
0
        public void getChildProposition_does_it_return_List_IProposition()
        {
            //Arrange
            var finalVarLeft  = new FinalVar("a");
            var finalVarRight = new FinalVar("b");
            var nandifyVar    = new Nandify(finalVarLeft, finalVarRight);

            //Act
            var returnedProposition = nandifyVar.getChildProposition();

            //Assert
            Assert.IsInstanceOfType(returnedProposition, typeof(List <IProposition>));
        }
コード例 #4
0
        public void GetString_Is_it_valid()
        {
            //Arrange
            var finalVarLeft  = new FinalVar("a");
            var finalVarRight = new FinalVar("b");
            var nandifyVar    = new Nandify(finalVarLeft, finalVarRight);

            //Act
            var stringReturn = nandifyVar.GetString();

            //Assert
            Assert.AreEqual(stringReturn, "(a % b)");
        }
コード例 #5
0
        public void TruthTable_Nandify_NandTruthTableHashCodeBeAsExpected(string prefixInput)
        {
            //Arrange
            var nandify    = new Nandify();
            var binaryTree = ParsingModule.Parse(prefixInput);

            //Act
            var truthTable = new TruthTable(binaryTree);

            nandify.Calculate(binaryTree.Root);
            var truthTableNand = new TruthTable(Nandify.BinaryTree);

            //Assert
            Assert.Equal(truthTable.GetHexadecimalHashCode(), truthTableNand.GetHexadecimalHashCode());
        }
コード例 #6
0
        public void TestMethod1()
        {
            string str = "=( >(A,B), |( ~(C) ,B) )";
            string ans = "%(%(%(%(A,%(B,B)),%(A,%(B,B))),%(%(%(%(C,C),%(C,C)),%(B,B)),%(%(%(C,C),%(C,C)),%(B,B)))),%(%(A,%(B,B)),%(%(%(C,C),%(C,C)),%(B,B))))";

            str = str.Replace(" ", "");
            str = str.Replace("(", "");
            str = str.Replace(")", "");
            Tree        tre = new Tree();
            Nandify     nan = new Nandify();
            List <Node> n   = tre.ReadFormula(str);

            nan.GetList(n);
            string ans1 = nan.BM(1);

            Assert.AreEqual(ans, ans1);
        }