aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2015-06-09 19:30:44 +0100
committerJon Skeet <skeet@pobox.com>2015-06-09 19:30:44 +0100
commite38294a62d7f37c0661273a9a26fda16d557423f (patch)
tree316989251907553408e7b32a12792f496333e075 /csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
parentf52426827e4d5e8da7d205af538799740b5199b9 (diff)
downloadprotobuf-e38294a62d7f37c0661273a9a26fda16d557423f.tar.gz
protobuf-e38294a62d7f37c0661273a9a26fda16d557423f.tar.bz2
protobuf-e38294a62d7f37c0661273a9a26fda16d557423f.zip
First pass at the mutable API. Quite a bit more to do - in particular, it's pretty slow right now.
Diffstat (limited to 'csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs')
-rw-r--r--csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs23
1 files changed, 14 insertions, 9 deletions
diff --git a/csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs b/csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
index 4d5b8302..df80b3af 100644
--- a/csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
+++ b/csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
@@ -37,10 +37,10 @@
using System;
using System.Collections.Generic;
using System.IO;
-using Google.ProtocolBuffers.TestProtos;
+using Google.Protobuf.Collections;
using NUnit.Framework;
-namespace Google.ProtocolBuffers
+namespace Google.Protobuf
{
public class CodedOutputStreamTest
{
@@ -195,6 +195,7 @@ namespace Google.ProtocolBuffers
0x9abcdef012345678UL);
}
+ /*
[Test]
public void WriteWholeMessage()
{
@@ -228,6 +229,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertEqualBytes(TestUtil.GetGoldenPackedFieldsMessage().ToByteArray(),
rawBytes);
}
+ */
[Test]
public void EncodeZigZag32()
@@ -294,25 +296,27 @@ namespace Google.ProtocolBuffers
public void TestNegativeEnumNoTag()
{
Assert.AreEqual(10, CodedOutputStream.ComputeInt32SizeNoTag(-2));
- Assert.AreEqual(10, CodedOutputStream.ComputeEnumSizeNoTag(-2));
+ Assert.AreEqual(10, CodedOutputStream.ComputeEnumSizeNoTag(TestNegEnum.Value));
byte[] bytes = new byte[10];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
- output.WriteEnumNoTag(-2);
+ output.WriteEnumNoTag(TestNegEnum.Value);
Assert.AreEqual(0, output.SpaceLeft);
Assert.AreEqual("FE-FF-FF-FF-FF-FF-FF-FF-FF-01", BitConverter.ToString(bytes));
}
+ enum TestNegEnum : long { None = 0, Value = -2 }
+
[Test]
public void TestNegativeEnumWithTag()
{
Assert.AreEqual(11, CodedOutputStream.ComputeInt32Size(8, -2));
- Assert.AreEqual(11, CodedOutputStream.ComputeEnumSize(8, -2));
+ Assert.AreEqual(11, CodedOutputStream.ComputeEnumSize(8, TestNegEnum.Value));
byte[] bytes = new byte[11];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
- output.WriteEnum(8, "", -2, -2);
+ output.WriteEnum(8, "", TestNegEnum.Value);
Assert.AreEqual(0, output.SpaceLeft);
//fyi, 0x40 == 0x08 << 3 + 0, field num + wire format shift
@@ -326,7 +330,8 @@ namespace Google.ProtocolBuffers
int msgSize = 1 + 1 + arraySize;
byte[] bytes = new byte[msgSize];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
- output.WritePackedEnumArray(8, "", arraySize, new int[] { 0, -1, -2, -3, -4, -5 });
+ output.WritePackedEnumArray(8, "", new RepeatedField<TestNegEnum> {
+ 0, (TestNegEnum) (-1), TestNegEnum.Value, (TestNegEnum) (-3), (TestNegEnum) (-4), (TestNegEnum) (-5) });
Assert.AreEqual(0, output.SpaceLeft);
@@ -350,8 +355,8 @@ namespace Google.ProtocolBuffers
int msgSize = arraySize;
byte[] bytes = new byte[msgSize];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
- output.WriteEnumArray(8, "", new int[] { 0, -1, -2, -3, -4, -5 });
-
+ output.WriteEnumArray(8, "", new RepeatedField<TestNegEnum> {
+ 0, (TestNegEnum) (-1), TestNegEnum.Value, (TestNegEnum) (-3), (TestNegEnum) (-4), (TestNegEnum) (-5) });
Assert.AreEqual(0, output.SpaceLeft);
CodedInputStream input = CodedInputStream.CreateInstance(bytes);