diff options
author | csharptest <roger@csharptest.net> | 2010-11-09 20:49:12 -0600 |
---|---|---|
committer | csharptest <roger@csharptest.net> | 2010-11-09 20:49:12 -0600 |
commit | 272cb8aee775de65e08b4ab17c485cd678d08266 (patch) | |
tree | 3489244ff5bd901592b535ea5ad9352096d1521f /src/ProtocolBuffersLite.Test/TestLiteByApi.cs | |
parent | e49547735834485dd22842e1a82bc5ae4139b8a8 (diff) | |
download | protobuf-272cb8aee775de65e08b4ab17c485cd678d08266.tar.gz protobuf-272cb8aee775de65e08b4ab17c485cd678d08266.tar.bz2 protobuf-272cb8aee775de65e08b4ab17c485cd678d08266.zip |
Lite feature complete.
Diffstat (limited to 'src/ProtocolBuffersLite.Test/TestLiteByApi.cs')
-rw-r--r-- | src/ProtocolBuffersLite.Test/TestLiteByApi.cs | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/ProtocolBuffersLite.Test/TestLiteByApi.cs b/src/ProtocolBuffersLite.Test/TestLiteByApi.cs index 32dc9506..dfa32221 100644 --- a/src/ProtocolBuffersLite.Test/TestLiteByApi.cs +++ b/src/ProtocolBuffersLite.Test/TestLiteByApi.cs @@ -42,12 +42,44 @@ namespace Google.ProtocolBuffers { [TestFixture] public class TestLiteByApi { - [Test, Ignore("Currently broken as equality/hash is not implemented")] + [Test] 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)); + } + + [Test] + public void TestEqualityOnExtensions() { + TestAllExtensionsLite msg = TestAllExtensionsLite.DefaultInstance; + TestAllExtensionsLite copy = msg.ToBuilder().Build(); + Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode()); + Assert.IsTrue(msg.Equals(copy)); + msg = msg.ToBuilder().SetExtension(UnitTestLiteProtoFile.OptionalStringExtensionLite, "Hi").Build(); + Assert.AreNotEqual(msg.GetHashCode(), copy.GetHashCode()); + Assert.IsFalse(msg.Equals(copy)); + copy = copy.ToBuilder().SetExtension(UnitTestLiteProtoFile.OptionalStringExtensionLite, "Hi").Build(); + Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode()); + Assert.IsTrue(msg.Equals(copy)); + } + + [Test] + 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()); } [Test] |