Exemplo n.º 1
0
        public void TestEquals()
        {
            var a = new LString("A");
            var b = new LString("B");

            Assert.IsTrue(LString.Empty.Equals(LString.Empty));

            Assert.IsTrue(a == a);
            Assert.IsFalse(a == b);

            Assert.IsFalse(a != a);
            Assert.IsTrue(a != b);

            var exA = a.Expose();
            var exB = b.Expose();

            byte[] intA = exA.InternalData;
            byte[] intB = exB.InternalData;

            Assert.IsTrue(StrInternals.InternalEquals(intA, intA));
            Assert.IsTrue(StrInternals.InternalEquals(intB, intB));
            Assert.IsFalse(StrInternals.InternalEquals(intA, intB));

            var a2 = new LString("A");

            Assert.IsTrue(LString.Equals(a, a2));
            Assert.IsTrue(a == a2);
            Assert.AreEqual(a, a2);
        }