Beispiel #1
0
        public void TestAllTypesToString()
        {
            TestAllTypesLite msg  = TestAllTypesLite.DefaultInstance;
            TestAllTypesLite copy = msg.ToBuilder().Build();

            Assert.AreEqual(msg.ToString(), copy.ToString());
            Assert.IsEmpty(msg.ToString());
            msg = msg.ToBuilder().SetOptionalInt32(-1).Build();
            Assert.AreEqual("optional_int32: -1", msg.ToString().TrimEnd());
            msg = msg.ToBuilder().SetOptionalString("abc123").Build();
            Assert.AreEqual("optional_int32: -1\noptional_string: \"abc123\"", msg.ToString().Replace("\r", "").TrimEnd());
        }
Beispiel #2
0
        public void TestAllTypesEquality()
        {
            TestAllTypesLite msg  = TestAllTypesLite.DefaultInstance;
            TestAllTypesLite copy = msg.ToBuilder().Build();

            Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
            Assert.IsTrue(msg.Equals(copy));
            msg = msg.ToBuilder().SetOptionalString("Hi").Build();
            Assert.AreNotEqual(msg.GetHashCode(), copy.GetHashCode());
            Assert.IsFalse(msg.Equals(copy));
            copy = copy.ToBuilder().SetOptionalString("Hi").Build();
            Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
            Assert.IsTrue(msg.Equals(copy));
        }
        public void TestIBuilderLiteWeakClear()
        {
            TestAllTypesLite copy, msg = TestAllTypesLite.DefaultInstance;

            copy = msg.ToBuilder().SetOptionalString("Should be removed.").Build();
            Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());

            copy = (TestAllTypesLite)((IBuilderLite)copy.ToBuilder()).WeakClear().WeakBuild();
            Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
        }
Beispiel #4
0
        public void TestAllTypesModifiedRoundTrip()
        {
            TestAllTypesLite msg = TestAllTypesLite.DefaultInstance;

            msg.ToBuilder()
            .SetOptionalBool(true)
            .SetOptionalCord("Hi")
            .SetOptionalDouble(1.123)
            .SetOptionalForeignEnum(ForeignEnumLite.FOREIGN_LITE_FOO)
            .SetOptionalForeignMessage(ForeignMessageLite.CreateBuilder().SetC('c').Build())
            .SetOptionalGroup(TestAllTypesLite.Types.OptionalGroup.CreateBuilder().SetA('a').Build())
            .SetOptionalImportEnum(ImportEnumLite.IMPORT_LITE_BAR)
            .SetOptionalInt32(32)
            .SetOptionalInt64(64)
            .SetOptionalNestedEnum(TestAllTypesLite.Types.NestedEnum.FOO)
            .SetOptionalString("SetOptionalString")
            .AddRepeatedGroup(TestAllTypesLite.Types.RepeatedGroup.CreateBuilder().SetA('a').Build())
            .AddRepeatedGroup(TestAllTypesLite.Types.RepeatedGroup.CreateBuilder().SetA('A').Build())
            ;
            TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build();

            TestUtil.AssertBytesEqual(msg.ToByteArray(), copy.ToByteArray());
        }