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()); }
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()); }
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()); }