Exemplo n.º 1
0
        public void TestPairs()
        {
            NumValue valueTwo = new NumValue(2);
            Value    pair     = new PairValue <NumValue, NumValue>(valueTwo, valueTwo);

            Assert.AreEqual("< 2 , 2 >", pair.ToString());

            Expression test = new PairExpression <NumExpression, NumExpression>(two, two);

            Assert.AreEqual("< 2 , 2 >", testAsync(test, 500).Result);

            var trueTest = new PairExpression <LogicExpression, LogicExpression>(logicTrue, logicTrue);

            Assert.AreEqual("< True , True >", testAsync(trueTest, 500).Result);

            var loopTest = new PairExpression <LogicExpression, LogicExpression>(logicLoop, logicTrue);

            Assert.AreEqual(False, testAsync(loopTest, 500).Result);

            var pairTest = new LogicProjL(trueTest);

            Assert.AreEqual(True, testAsync(pairTest, 500).Result);

            var pairLoop = new LogicProjR(loopTest);

            Assert.AreEqual(True, testAsync(pairLoop, 500).Result);

            var pairLoop2 = new LogicProjL(loopTest);

            Assert.AreEqual(Loop, testAsync(pairLoop2, 500).Result);
        }