public void Equality()
        {
            ByteString b1 = ByteString.CopyFrom(1, 2, 3);
            ByteString b2 = ByteString.CopyFrom(1, 2, 3);
            ByteString b3 = ByteString.CopyFrom(1, 2, 4);
            ByteString b4 = ByteString.CopyFrom(1, 2, 3, 4);

            EqualityTester.AssertEquality(b1, b1);
            EqualityTester.AssertEquality(b1, b2);
            EqualityTester.AssertInequality(b1, b3);
            EqualityTester.AssertInequality(b1, b4);
            EqualityTester.AssertInequality(b1, null);
#pragma warning disable 1718 // Deliberately calling ==(b1, b1) and !=(b1, b1)
            Assert.IsTrue(b1 == b1);
            Assert.IsTrue(b1 == b2);
            Assert.IsFalse(b1 == b3);
            Assert.IsFalse(b1 == b4);
            Assert.IsFalse(b1 == null);
            Assert.IsTrue((ByteString)null == null);
            Assert.IsFalse(b1 != b1);
            Assert.IsFalse(b1 != b2);
#pragma warning disable 1718
            Assert.IsTrue(b1 != b3);
            Assert.IsTrue(b1 != b4);
            Assert.IsTrue(b1 != null);
            Assert.IsFalse((ByteString)null != null);
        }
        public void EmptyMessageFieldDistinctFromMissingMessageField()
        {
            // This demonstrates what we're really interested in...
            var message1 = new TestAllTypes {
                SingleForeignMessage = new ForeignMessage()
            };
            var message2 = new TestAllTypes(); // SingleForeignMessage is null

            EqualityTester.AssertInequality(message1, message2);
        }
示例#3
0
        public void NaNComparisons()
        {
            var message1 = new TestAllTypes {
                SingleDouble = SampleNaNs.Regular
            };
            var message2 = new TestAllTypes {
                SingleDouble = SampleNaNs.PayloadFlipped
            };
            var message3 = new TestAllTypes {
                SingleDouble = SampleNaNs.Regular
            };

            EqualityTester.AssertInequality(message1, message2);
            EqualityTester.AssertEquality(message1, message3);
        }