From 8fe3f640460172274905ca78a363e5739f0d9bfb Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Thu, 10 Dec 2015 20:30:46 -0800 Subject: add coverage for AsyncStreamExtensions --- src/csharp/Grpc.Core.Tests/ClientServerTest.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/csharp') diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs index e324471120..77f6a63156 100644 --- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs +++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs @@ -155,10 +155,7 @@ namespace Grpc.Core.Tests { helper.ServerStreamingHandler = new ServerStreamingServerMethod(async (request, responseStream, context) => { - foreach (string response in request.Split(new []{' '})) - { - await responseStream.WriteAsync(response); - } + await responseStream.WriteAllAsync(request.Split(new []{' '})); context.ResponseTrailers.Add("xyz", ""); }); -- cgit v1.2.3 From 1d344f1e59771e17e13b06963b43d284f69fe2ef Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 11 Dec 2015 08:51:21 -0800 Subject: Add test coverage for Metadata class --- src/csharp/Grpc.Core.Tests/MetadataTest.cs | 113 +++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) (limited to 'src/csharp') diff --git a/src/csharp/Grpc.Core.Tests/MetadataTest.cs b/src/csharp/Grpc.Core.Tests/MetadataTest.cs index ddeb7d0926..49e9de1174 100644 --- a/src/csharp/Grpc.Core.Tests/MetadataTest.cs +++ b/src/csharp/Grpc.Core.Tests/MetadataTest.cs @@ -127,5 +127,118 @@ namespace Grpc.Core.Tests Assert.Throws(typeof(InvalidOperationException), () => { var v = entry.Value; }); CollectionAssert.AreEqual(bytes, entry.ValueBytes); } + + [Test] + public void IndexOf() + { + var metadata = CreateMetadata(); + Assert.AreEqual(0, metadata.IndexOf(metadata[0])); + Assert.AreEqual(1, metadata.IndexOf(metadata[1])); + } + + [Test] + public void Insert() + { + var metadata = CreateMetadata(); + metadata.Insert(0, new Metadata.Entry("new-key", "new-value")); + Assert.AreEqual(3, metadata.Count); + Assert.AreEqual("new-key", metadata[0].Key); + Assert.AreEqual("abc", metadata[1].Key); + } + + [Test] + public void RemoveAt() + { + var metadata = CreateMetadata(); + metadata.RemoveAt(0); + Assert.AreEqual(1, metadata.Count); + Assert.AreEqual("xyz", metadata[0].Key); + } + + [Test] + public void Remove() + { + var metadata = CreateMetadata(); + metadata.Remove(metadata[0]); + Assert.AreEqual(1, metadata.Count); + Assert.AreEqual("xyz", metadata[0].Key); + } + + [Test] + public void Indexer_Set() + { + var metadata = CreateMetadata(); + var entry = new Metadata.Entry("new-key", "new-value"); + + metadata[1] = entry; + Assert.AreEqual(entry, metadata[1]); + } + + [Test] + public void Clear() + { + var metadata = CreateMetadata(); + metadata.Clear(); + Assert.AreEqual(0, metadata.Count); + } + + [Test] + public void Contains() + { + var metadata = CreateMetadata(); + Assert.IsTrue(metadata.Contains(metadata[0])); + Assert.IsFalse(metadata.Contains(new Metadata.Entry("new-key", "new-value"))); + } + + [Test] + public void CopyTo() + { + var metadata = CreateMetadata(); + var array = new Metadata.Entry[metadata.Count + 1]; + + metadata.CopyTo(array, 1); + Assert.AreEqual(default(Metadata.Entry), array[0]); + Assert.AreEqual(metadata[0], array[1]); + } + + [Test] + public void IEnumerableGetEnumerator() + { + var metadata = CreateMetadata(); + var enumerator = (metadata as System.Collections.IEnumerable).GetEnumerator(); + + int i = 0; + while (enumerator.MoveNext()) + { + Assert.AreEqual(metadata[i], enumerator.Current); + i++; + } + } + + [Test] + public void FreezeMakesReadOnly() + { + var entry = new Metadata.Entry("new-key", "new-value"); + var metadata = CreateMetadata().Freeze(); + + Assert.IsTrue(metadata.IsReadOnly); + Assert.Throws(() => metadata.Insert(0, entry)); + Assert.Throws(() => metadata.RemoveAt(0)); + Assert.Throws(() => metadata[0] = entry); + Assert.Throws(() => metadata.Add(entry)); + Assert.Throws(() => metadata.Add("new-key", "new-value")); + Assert.Throws(() => metadata.Add("new-key-bin", new byte[] { 0xaa })); + Assert.Throws(() => metadata.Clear()); + Assert.Throws(() => metadata.Remove(metadata[0])); + } + + private Metadata CreateMetadata() + { + return new Metadata + { + { "abc", "abc-value" }, + { "xyz", "xyz-value" }, + }; + } } } -- cgit v1.2.3