public void BooleanTests()
        {
            Func <int, Func <int, int> > t1 = a => b => a + b;
            int f1 = 1;

            Assert.AreEqual(ChurchBoolean.True(t1)(f1), SkiCalculus.True(t1)(f1));
            Assert.AreEqual(ChurchBoolean.False(t1)(f1), SkiCalculus.False(t1)(f1));

            Func <int, int> t2 = a => a + 1;
            int             f2 = 2;

            Assert.AreEqual(ChurchBoolean.True(t2)(f2), SkiCalculus.True(t2)(f2));
            Assert.AreEqual(ChurchBoolean.False(t2)(f2), SkiCalculus.False(t2)(f2));
        }
Exemple #2
0
 public static Boolean Not(this Boolean a) => ChurchBoolean.Not(a);
Exemple #3
0
 public static Boolean Or(this Boolean a, Boolean b) => ChurchBoolean.Or(a)(b);
Exemple #4
0
 public static Boolean And(this Boolean a, Boolean b) => ChurchBoolean.And(a)(b);