コード例 #1
0
        public void BoolTrueAndFalseEqualityChecks()
        {
            var t          = new TrueBoolObject();
            var otherTrue  = new TrueBoolObject();
            var f          = new FalseBoolObject();
            var otherFalse = new FalseBoolObject();
            var v          = new FixnumObject(42);

            // True check.
            Assert.IsTrue(t.Equals(t));
            Assert.IsTrue(t.Equals((object)t));

            Assert.IsFalse(t.Equals(otherTrue));
            Assert.IsFalse(t.Equals((object)otherTrue));

            Assert.IsFalse(t.Equals(f));
            Assert.IsFalse(t.Equals((object)f));

            Assert.IsFalse(t.Equals(v));

            // False check.
            Assert.IsTrue(f.Equals(f));
            Assert.IsTrue(f.Equals((object)f));

            Assert.IsFalse(f.Equals(otherFalse));
            Assert.IsFalse(f.Equals((object)otherFalse));

            Assert.IsFalse(f.Equals(t));
            Assert.IsFalse(f.Equals((object)t));

            Assert.IsFalse(t.Equals(v));
        }
コード例 #2
0
        public void CanCreateFixnumValues()
        {
            var obj = new FixnumObject(42);

            Assert.AreEqual(42, obj.Value);

            obj = new FixnumObject(5);
            Assert.AreEqual(5, obj.Value);
        }
コード例 #3
0
        public void PairsValuesAreSet()
        {
            var first  = new FixnumObject(42);
            var second = new FixnumObject(5);
            var pair   = new PairObject(first, second);

            Assert.AreSame(first, pair.Car);
            Assert.AreSame(second, pair.Cdr);
        }
コード例 #4
0
        public void FixnumToString()
        {
            var o = new FixnumObject(42);

            Assert.AreEqual("42", o.ToString());

            o = new FixnumObject(-42);
            Assert.AreEqual("-42", o.ToString());

            o = new FixnumObject(0);
            Assert.AreEqual("0", o.ToString());
        }
コード例 #5
0
        public void FixnumCompare()
        {
            var a           = new FixnumObject(42);
            var equalTo     = new FixnumObject(42);
            var greaterThan = new FixnumObject(50);
            var lessThan    = new FixnumObject(40);

            Assert.AreEqual(0, a.CompareTo(a));
            Assert.AreEqual(0, a.CompareTo(equalTo));
            Assert.AreEqual(-1, a.CompareTo(greaterThan));
            Assert.AreEqual(1, a.CompareTo(lessThan));
        }
コード例 #6
0
        public void FixnumEquality()
        {
            var a = new FixnumObject(42);
            var b = new FixnumObject(42);
            var c = new FixnumObject(50);
            var d = "stupidstring";

            Assert.AreEqual(a, a);
            Assert.AreEqual(a, b);
            Assert.AreEqual(b, a);
            Assert.AreNotEqual(a, c);
            Assert.AreNotEqual(a, d);
            Assert.AreNotEqual(a, null);
        }