aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs
diff options
context:
space:
mode:
authorJisi Liu <jisi.liu@gmail.com>2017-07-18 16:26:16 -0700
committerJisi Liu <jisi.liu@gmail.com>2017-07-18 16:26:16 -0700
commit3af881c7e2db0553207876acbdb91c6e77974e44 (patch)
tree35e2a96cce802d4235bd29afa396e28ead892fa2 /csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs
parent86975301f1876ce1934612777b8ca6c76520f5cc (diff)
parent942a29cecd36f2a4b22fdd2179635cd548e6bd27 (diff)
downloadprotobuf-3af881c7e2db0553207876acbdb91c6e77974e44.tar.gz
protobuf-3af881c7e2db0553207876acbdb91c6e77974e44.tar.bz2
protobuf-3af881c7e2db0553207876acbdb91c6e77974e44.zip
Merge master into 3.4.x
Diffstat (limited to 'csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs')
-rw-r--r--csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs b/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs
index 4aecc998..a3edd595 100644
--- a/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs
+++ b/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs
@@ -91,6 +91,24 @@ namespace Google.Protobuf.WellKnownTypes
}
[Test]
+ public void TryUnpack_WrongType()
+ {
+ var message = SampleMessages.CreateFullTestAllTypes();
+ var any = Any.Pack(message);
+ Assert.False(any.TryUnpack(out TestOneof unpacked));
+ Assert.Null(unpacked);
+ }
+
+ [Test]
+ public void TryUnpack_RightType()
+ {
+ var message = SampleMessages.CreateFullTestAllTypes();
+ var any = Any.Pack(message);
+ Assert.IsTrue(any.TryUnpack(out TestAllTypes unpacked));
+ Assert.AreEqual(message, unpacked);
+ }
+
+ [Test]
public void ToString_WithValues()
{
var message = SampleMessages.CreateFullTestAllTypes();
@@ -100,6 +118,16 @@ namespace Google.Protobuf.WellKnownTypes
}
[Test]
+ [TestCase("proto://foo.bar", "foo.bar")]
+ [TestCase("/foo/bar/baz", "baz")]
+ [TestCase("foobar", "")]
+ public void GetTypeName(string typeUrl, string expectedTypeName)
+ {
+ var any = new Any { TypeUrl = typeUrl };
+ Assert.AreEqual(expectedTypeName, Any.GetTypeName(typeUrl));
+ }
+
+ [Test]
public void ToString_Empty()
{
var any = new Any();