Convert back to using NUnit, which is now loaded via NuGet.

This includes the NUnit test adapter which allows NUnit tests to be run under VS without any extra plugins.
Unfortunate the compatibility tests using the abstract test fixture class show up as "external" tests, and aren't well presented - but they do run.
pull/366/head
Jon Skeet 10 years ago
parent c58b2c6644
commit 90c8932fc7
  1. 78
      csharp/src/ProtocolBuffers.Test/AbstractMessageTest.cs
  2. 76
      csharp/src/ProtocolBuffers.Test/ByteStringTest.cs
  3. 176
      csharp/src/ProtocolBuffers.Test/CodedInputStreamTest.cs
  4. 222
      csharp/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
  5. 34
      csharp/src/ProtocolBuffers.Test/Collections/PopsicleListTest.cs
  6. 60
      csharp/src/ProtocolBuffers.Test/Compatibility/CompatibilityTests.cs
  7. 5
      csharp/src/ProtocolBuffers.Test/Compatibility/DictionaryCompatibilityTests.cs
  8. 3
      csharp/src/ProtocolBuffers.Test/Compatibility/JsonCompatibilityTests.cs
  9. 6
      csharp/src/ProtocolBuffers.Test/Compatibility/TestResources.cs
  10. 7
      csharp/src/ProtocolBuffers.Test/Compatibility/TextCompatibilityTests.cs
  11. 3
      csharp/src/ProtocolBuffers.Test/Compatibility/XmlCompatibilityTests.cs
  12. 16
      csharp/src/ProtocolBuffers.Test/DeprecatedMemberTest.cs
  13. 234
      csharp/src/ProtocolBuffers.Test/DescriptorsTest.cs
  14. 42
      csharp/src/ProtocolBuffers.Test/DynamicMessageTest.cs
  15. 128
      csharp/src/ProtocolBuffers.Test/ExtendableMessageTest.cs
  16. 80
      csharp/src/ProtocolBuffers.Test/FieldPresenceTest.cs
  17. 24
      csharp/src/ProtocolBuffers.Test/GeneratedBuilderTest.cs
  18. 180
      csharp/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
  19. 6
      csharp/src/ProtocolBuffers.Test/IssuesTest.cs
  20. 16
      csharp/src/ProtocolBuffers.Test/MessageStreamIteratorTest.cs
  21. 4
      csharp/src/ProtocolBuffers.Test/MessageStreamWriterTest.cs
  22. 114
      csharp/src/ProtocolBuffers.Test/MessageTest.cs
  23. 18
      csharp/src/ProtocolBuffers.Test/MessageUtilTest.cs
  24. 48
      csharp/src/ProtocolBuffers.Test/NameHelpersTest.cs
  25. 39
      csharp/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
  26. 880
      csharp/src/ProtocolBuffers.Test/ReflectionTester.cs
  27. 88
      csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
  28. 10
      csharp/src/ProtocolBuffers.Test/TestCornerCases.cs
  29. 106
      csharp/src/ProtocolBuffers.Test/TestMimeMessageFormats.cs
  30. 52
      csharp/src/ProtocolBuffers.Test/TestReaderForUrlEncoded.cs
  31. 1904
      csharp/src/ProtocolBuffers.Test/TestUtil.cs
  32. 122
      csharp/src/ProtocolBuffers.Test/TestWriterFormatJson.cs
  33. 110
      csharp/src/ProtocolBuffers.Test/TestWriterFormatXml.cs
  34. 180
      csharp/src/ProtocolBuffers.Test/TextFormatTest.cs
  35. 108
      csharp/src/ProtocolBuffers.Test/UnknownFieldSetTest.cs
  36. 74
      csharp/src/ProtocolBuffers.Test/WireFormatTest.cs
  37. 8
      csharp/src/ProtocolBuffers.Test/packages.config
  38. 122
      csharp/src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs
  39. 42
      csharp/src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs
  40. 114
      csharp/src/ProtocolBuffersLite.Test/ExtendableBuilderLiteTest.cs
  41. 216
      csharp/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
  42. 36
      csharp/src/ProtocolBuffersLite.Test/InteropLiteTest.cs
  43. 26
      csharp/src/ProtocolBuffersLite.Test/LiteTest.cs
  44. 136
      csharp/src/ProtocolBuffersLite.Test/MissingFieldAndExtensionTest.cs
  45. 41
      csharp/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
  46. 36
      csharp/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
  47. 50
      csharp/src/ProtocolBuffersLite.Test/TestLiteByApi.cs
  48. 8
      csharp/src/ProtocolBuffersLite.Test/packages.config

@ -39,13 +39,13 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class AbstractMessageTest public class AbstractMessageTest
{ {
[Fact] [Test]
public void Clear() public void Clear()
{ {
AbstractMessageWrapper message = AbstractMessageWrapper message =
@ -53,7 +53,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertClear((TestAllTypes) message.WrappedMessage); TestUtil.AssertClear((TestAllTypes) message.WrappedMessage);
} }
[Fact] [Test]
public void Copy() public void Copy()
{ {
AbstractMessageWrapper message = AbstractMessageWrapper message =
@ -61,31 +61,31 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet((TestAllTypes) message.WrappedMessage); TestUtil.AssertAllFieldsSet((TestAllTypes) message.WrappedMessage);
} }
[Fact] [Test]
public void CreateAndBuild() public void CreateAndBuild()
{ {
TestAllTypes.CreateBuilder() TestAllTypes.CreateBuilder()
.Build(); .Build();
} }
[Fact] [Test]
public void SerializedSize() public void SerializedSize()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetAllSet()); IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetAllSet());
Assert.Equal(message.SerializedSize, abstractMessage.SerializedSize); Assert.AreEqual(message.SerializedSize, abstractMessage.SerializedSize);
} }
[Fact] [Test]
public void Serialization() public void Serialization()
{ {
IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetAllSet()); IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetAllSet());
TestUtil.AssertAllFieldsSet(TestAllTypes.ParseFrom(abstractMessage.ToByteString())); TestUtil.AssertAllFieldsSet(TestAllTypes.ParseFrom(abstractMessage.ToByteString()));
Assert.Equal(TestUtil.GetAllSet().ToByteString(), abstractMessage.ToByteString()); Assert.AreEqual(TestUtil.GetAllSet().ToByteString(), abstractMessage.ToByteString());
} }
[Fact] [Test]
public void Parsing() public void Parsing()
{ {
IBuilder builder = new AbstractMessageWrapper.Builder(TestAllTypes.CreateBuilder()); IBuilder builder = new AbstractMessageWrapper.Builder(TestAllTypes.CreateBuilder());
@ -94,15 +94,15 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet((TestAllTypes) message.WrappedMessage); TestUtil.AssertAllFieldsSet((TestAllTypes) message.WrappedMessage);
} }
[Fact] [Test]
public void PackedSerialization() public void PackedSerialization()
{ {
IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetPackedSet()); IMessage abstractMessage = new AbstractMessageWrapper(TestUtil.GetPackedSet());
TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseFrom(abstractMessage.ToByteString())); TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseFrom(abstractMessage.ToByteString()));
Assert.Equal(TestUtil.GetPackedSet().ToByteString(), abstractMessage.ToByteString()); Assert.AreEqual(TestUtil.GetPackedSet().ToByteString(), abstractMessage.ToByteString());
} }
[Fact] [Test]
public void PackedParsing() public void PackedParsing()
{ {
AbstractMessageWrapper.Builder builder = new AbstractMessageWrapper.Builder(TestPackedTypes.CreateBuilder()); AbstractMessageWrapper.Builder builder = new AbstractMessageWrapper.Builder(TestPackedTypes.CreateBuilder());
@ -110,7 +110,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertPackedFieldsSet((TestPackedTypes)message.WrappedMessage); TestUtil.AssertPackedFieldsSet((TestPackedTypes)message.WrappedMessage);
} }
[Fact] [Test]
public void UnpackedParsingOfPackedInput() public void UnpackedParsingOfPackedInput()
{ {
byte[] bytes = TestUtil.GetPackedSet().ToByteArray(); byte[] bytes = TestUtil.GetPackedSet().ToByteArray();
@ -118,7 +118,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertUnpackedFieldsSet(message); TestUtil.AssertUnpackedFieldsSet(message);
} }
[Fact] [Test]
public void PackedParsingOfUnpackedInput() public void PackedParsingOfUnpackedInput()
{ {
byte[] bytes = TestUnpackedTypes.ParseFrom(TestUtil.GetPackedSet().ToByteArray()).ToByteArray(); byte[] bytes = TestUnpackedTypes.ParseFrom(TestUtil.GetPackedSet().ToByteArray()).ToByteArray();
@ -126,7 +126,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertPackedFieldsSet(message); TestUtil.AssertPackedFieldsSet(message);
} }
[Fact] [Test]
public void UnpackedParsingOfPackedInputExtensions() public void UnpackedParsingOfPackedInputExtensions()
{ {
byte[] bytes = TestUtil.GetPackedSet().ToByteArray(); byte[] bytes = TestUtil.GetPackedSet().ToByteArray();
@ -137,7 +137,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertUnpackedExtensionsSet(message); TestUtil.AssertUnpackedExtensionsSet(message);
} }
[Fact] [Test]
public void PackedParsingOfUnpackedInputExtensions() public void PackedParsingOfUnpackedInputExtensions()
{ {
byte[] bytes = TestUnpackedTypes.ParseFrom(TestUtil.GetPackedSet().ToByteArray()).ToByteArray(); byte[] bytes = TestUnpackedTypes.ParseFrom(TestUtil.GetPackedSet().ToByteArray()).ToByteArray();
@ -147,13 +147,13 @@ namespace Google.ProtocolBuffers
TestUtil.AssertPackedExtensionsSet(message); TestUtil.AssertPackedExtensionsSet(message);
} }
[Fact] [Test]
public void OptimizedForSize() public void OptimizedForSize()
{ {
// We're mostly only Checking that this class was compiled successfully. // We're mostly only Checking that this class was compiled successfully.
TestOptimizedForSize message = TestOptimizedForSize.CreateBuilder().SetI(1).Build(); TestOptimizedForSize message = TestOptimizedForSize.CreateBuilder().SetI(1).Build();
message = TestOptimizedForSize.ParseFrom(message.ToByteString()); message = TestOptimizedForSize.ParseFrom(message.ToByteString());
Assert.Equal(2, message.SerializedSize); Assert.AreEqual(2, message.SerializedSize);
} }
// ----------------------------------------------------------------- // -----------------------------------------------------------------
@ -164,40 +164,40 @@ namespace Google.ProtocolBuffers
private static readonly TestRequired TestRequiredInitialized = private static readonly TestRequired TestRequiredInitialized =
TestRequired.CreateBuilder().SetA(1).SetB(2).SetC(3).Build(); TestRequired.CreateBuilder().SetA(1).SetB(2).SetC(3).Build();
[Fact] [Test]
public void IsInitialized() public void IsInitialized()
{ {
TestRequired.Builder builder = TestRequired.CreateBuilder(); TestRequired.Builder builder = TestRequired.CreateBuilder();
AbstractMessageWrapper.Builder abstractBuilder = new AbstractMessageWrapper.Builder(builder); AbstractMessageWrapper.Builder abstractBuilder = new AbstractMessageWrapper.Builder(builder);
Assert.False(abstractBuilder.IsInitialized); Assert.IsFalse(abstractBuilder.IsInitialized);
builder.A = 1; builder.A = 1;
Assert.False(abstractBuilder.IsInitialized); Assert.IsFalse(abstractBuilder.IsInitialized);
builder.B = 1; builder.B = 1;
Assert.False(abstractBuilder.IsInitialized); Assert.IsFalse(abstractBuilder.IsInitialized);
builder.C = 1; builder.C = 1;
Assert.True(abstractBuilder.IsInitialized); Assert.IsTrue(abstractBuilder.IsInitialized);
} }
[Fact] [Test]
public void ForeignIsInitialized() public void ForeignIsInitialized()
{ {
TestRequiredForeign.Builder builder = TestRequiredForeign.CreateBuilder(); TestRequiredForeign.Builder builder = TestRequiredForeign.CreateBuilder();
AbstractMessageWrapper.Builder abstractBuilder = new AbstractMessageWrapper.Builder(builder); AbstractMessageWrapper.Builder abstractBuilder = new AbstractMessageWrapper.Builder(builder);
Assert.True(abstractBuilder.IsInitialized); Assert.IsTrue(abstractBuilder.IsInitialized);
builder.SetOptionalMessage(TestRequiredUninitialized); builder.SetOptionalMessage(TestRequiredUninitialized);
Assert.False(abstractBuilder.IsInitialized); Assert.IsFalse(abstractBuilder.IsInitialized);
builder.SetOptionalMessage(TestRequiredInitialized); builder.SetOptionalMessage(TestRequiredInitialized);
Assert.True(abstractBuilder.IsInitialized); Assert.IsTrue(abstractBuilder.IsInitialized);
builder.AddRepeatedMessage(TestRequiredUninitialized); builder.AddRepeatedMessage(TestRequiredUninitialized);
Assert.False(abstractBuilder.IsInitialized); Assert.IsFalse(abstractBuilder.IsInitialized);
builder.SetRepeatedMessage(0, TestRequiredInitialized); builder.SetRepeatedMessage(0, TestRequiredInitialized);
Assert.True(abstractBuilder.IsInitialized); Assert.IsTrue(abstractBuilder.IsInitialized);
} }
// ----------------------------------------------------------------- // -----------------------------------------------------------------
@ -226,7 +226,7 @@ namespace Google.ProtocolBuffers
"repeated_string: \"qux\"\n" + "repeated_string: \"qux\"\n" +
"repeated_string: \"bar\"\n"; "repeated_string: \"bar\"\n";
[Fact] [Test]
public void MergeFrom() public void MergeFrom()
{ {
AbstractMessageWrapper result = (AbstractMessageWrapper) AbstractMessageWrapper result = (AbstractMessageWrapper)
@ -234,13 +234,13 @@ namespace Google.ProtocolBuffers
.MergeFrom(MergeSource) .MergeFrom(MergeSource)
.Build(); .Build();
Assert.Equal(MergeResultText, result.ToString()); Assert.AreEqual(MergeResultText, result.ToString());
} }
// ----------------------------------------------------------------- // -----------------------------------------------------------------
// Tests for equals and hashCode // Tests for equals and hashCode
[Fact] [Test]
public void EqualsAndHashCode() public void EqualsAndHashCode()
{ {
TestAllTypes a = TestUtil.GetAllSet(); TestAllTypes a = TestUtil.GetAllSet();
@ -296,7 +296,7 @@ namespace Google.ProtocolBuffers
private static void CheckEqualsIsConsistent(IMessage message) private static void CheckEqualsIsConsistent(IMessage message)
{ {
// Object should be equal to itself. // Object should be equal to itself.
Assert.Equal(message, message); Assert.AreEqual(message, message);
// Object should be equal to a dynamic copy of itself. // Object should be equal to a dynamic copy of itself.
DynamicMessage dynamic = DynamicMessage.CreateBuilder(message).Build(); DynamicMessage dynamic = DynamicMessage.CreateBuilder(message).Build();
@ -310,9 +310,9 @@ namespace Google.ProtocolBuffers
{ {
// Not using Assert.AreEqual as that checks for type equality, which isn't // Not using Assert.AreEqual as that checks for type equality, which isn't
// what we want bearing in mind the dynamic message checks. // what we want bearing in mind the dynamic message checks.
Assert.True(message1.Equals(message2)); Assert.IsTrue(message1.Equals(message2));
Assert.True(message2.Equals(message1)); Assert.IsTrue(message2.Equals(message1));
Assert.Equal(message2.GetHashCode(), message1.GetHashCode()); Assert.AreEqual(message2.GetHashCode(), message1.GetHashCode());
} }
/// <summary> /// <summary>
@ -326,10 +326,10 @@ namespace Google.ProtocolBuffers
private static void CheckNotEqual(IMessage m1, IMessage m2) private static void CheckNotEqual(IMessage m1, IMessage m2)
{ {
String equalsError = string.Format("{0} should not be equal to {1}", m1, m2); String equalsError = string.Format("{0} should not be equal to {1}", m1, m2);
Assert.False(m1.Equals(m2), equalsError); Assert.IsFalse(m1.Equals(m2), equalsError);
Assert.False(m2.Equals(m1), equalsError); Assert.IsFalse(m2.Equals(m1), equalsError);
Assert.False(m1.GetHashCode() == m2.GetHashCode(), Assert.IsFalse(m1.GetHashCode() == m2.GetHashCode(),
string.Format("{0} should have a different hash code from {1}", m1, m2)); string.Format("{0} should have a different hash code from {1}", m1, m2));
} }

@ -36,112 +36,112 @@
using System; using System;
using System.Text; using System.Text;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class ByteStringTest public class ByteStringTest
{ {
[Fact] [Test]
public void EmptyByteStringHasZeroSize() public void EmptyByteStringHasZeroSize()
{ {
Assert.Equal(0, ByteString.Empty.Length); Assert.AreEqual(0, ByteString.Empty.Length);
} }
[Fact] [Test]
public void CopyFromStringWithExplicitEncoding() public void CopyFromStringWithExplicitEncoding()
{ {
ByteString bs = ByteString.CopyFrom("AB", Encoding.Unicode); ByteString bs = ByteString.CopyFrom("AB", Encoding.Unicode);
Assert.Equal(4, bs.Length); Assert.AreEqual(4, bs.Length);
Assert.Equal(65, bs[0]); Assert.AreEqual(65, bs[0]);
Assert.Equal(0, bs[1]); Assert.AreEqual(0, bs[1]);
Assert.Equal(66, bs[2]); Assert.AreEqual(66, bs[2]);
Assert.Equal(0, bs[3]); Assert.AreEqual(0, bs[3]);
} }
[Fact] [Test]
public void IsEmptyWhenEmpty() public void IsEmptyWhenEmpty()
{ {
Assert.True(ByteString.CopyFromUtf8("").IsEmpty); Assert.IsTrue(ByteString.CopyFromUtf8("").IsEmpty);
} }
[Fact] [Test]
public void IsEmptyWhenNotEmpty() public void IsEmptyWhenNotEmpty()
{ {
Assert.False(ByteString.CopyFromUtf8("X").IsEmpty); Assert.IsFalse(ByteString.CopyFromUtf8("X").IsEmpty);
} }
[Fact] [Test]
public void CopyFromByteArrayCopiesContents() public void CopyFromByteArrayCopiesContents()
{ {
byte[] data = new byte[1]; byte[] data = new byte[1];
data[0] = 10; data[0] = 10;
ByteString bs = ByteString.CopyFrom(data); ByteString bs = ByteString.CopyFrom(data);
Assert.Equal(10, bs[0]); Assert.AreEqual(10, bs[0]);
data[0] = 5; data[0] = 5;
Assert.Equal(10, bs[0]); Assert.AreEqual(10, bs[0]);
} }
[Fact] [Test]
public void ToByteArrayCopiesContents() public void ToByteArrayCopiesContents()
{ {
ByteString bs = ByteString.CopyFromUtf8("Hello"); ByteString bs = ByteString.CopyFromUtf8("Hello");
byte[] data = bs.ToByteArray(); byte[] data = bs.ToByteArray();
Assert.Equal((byte)'H', data[0]); Assert.AreEqual((byte)'H', data[0]);
Assert.Equal((byte)'H', bs[0]); Assert.AreEqual((byte)'H', bs[0]);
data[0] = 0; data[0] = 0;
Assert.Equal(0, data[0]); Assert.AreEqual(0, data[0]);
Assert.Equal((byte)'H', bs[0]); Assert.AreEqual((byte)'H', bs[0]);
} }
[Fact] [Test]
public void CopyFromUtf8UsesUtf8() public void CopyFromUtf8UsesUtf8()
{ {
ByteString bs = ByteString.CopyFromUtf8("\u20ac"); ByteString bs = ByteString.CopyFromUtf8("\u20ac");
Assert.Equal(3, bs.Length); Assert.AreEqual(3, bs.Length);
Assert.Equal(0xe2, bs[0]); Assert.AreEqual(0xe2, bs[0]);
Assert.Equal(0x82, bs[1]); Assert.AreEqual(0x82, bs[1]);
Assert.Equal(0xac, bs[2]); Assert.AreEqual(0xac, bs[2]);
} }
[Fact] [Test]
public void CopyFromPortion() public void CopyFromPortion()
{ {
byte[] data = new byte[] {0, 1, 2, 3, 4, 5, 6}; byte[] data = new byte[] {0, 1, 2, 3, 4, 5, 6};
ByteString bs = ByteString.CopyFrom(data, 2, 3); ByteString bs = ByteString.CopyFrom(data, 2, 3);
Assert.Equal(3, bs.Length); Assert.AreEqual(3, bs.Length);
Assert.Equal(2, bs[0]); Assert.AreEqual(2, bs[0]);
Assert.Equal(3, bs[1]); Assert.AreEqual(3, bs[1]);
} }
[Fact] [Test]
public void ToStringUtf8() public void ToStringUtf8()
{ {
ByteString bs = ByteString.CopyFromUtf8("\u20ac"); ByteString bs = ByteString.CopyFromUtf8("\u20ac");
Assert.Equal("\u20ac", bs.ToStringUtf8()); Assert.AreEqual("\u20ac", bs.ToStringUtf8());
} }
[Fact] [Test]
public void ToStringWithExplicitEncoding() public void ToStringWithExplicitEncoding()
{ {
ByteString bs = ByteString.CopyFrom("\u20ac", Encoding.Unicode); ByteString bs = ByteString.CopyFrom("\u20ac", Encoding.Unicode);
Assert.Equal("\u20ac", bs.ToString(Encoding.Unicode)); Assert.AreEqual("\u20ac", bs.ToString(Encoding.Unicode));
} }
[Fact] [Test]
public void FromBase64_WithText() public void FromBase64_WithText()
{ {
byte[] data = new byte[] {0, 1, 2, 3, 4, 5, 6}; byte[] data = new byte[] {0, 1, 2, 3, 4, 5, 6};
string base64 = Convert.ToBase64String(data); string base64 = Convert.ToBase64String(data);
ByteString bs = ByteString.FromBase64(base64); ByteString bs = ByteString.FromBase64(base64);
Assert.Equal(data, bs.ToByteArray()); Assert.AreEqual(data, bs.ToByteArray());
} }
[Fact] [Test]
public void FromBase64_Empty() public void FromBase64_Empty()
{ {
// Optimization which also fixes issue 61. // Optimization which also fixes issue 61.
Assert.Same(ByteString.Empty, ByteString.FromBase64("")); Assert.AreSame(ByteString.Empty, ByteString.FromBase64(""));
} }
} }
} }

@ -39,7 +39,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -66,21 +66,21 @@ namespace Google.ProtocolBuffers
private static void AssertReadVarint(byte[] data, ulong value) private static void AssertReadVarint(byte[] data, ulong value)
{ {
CodedInputStream input = CodedInputStream.CreateInstance(data); CodedInputStream input = CodedInputStream.CreateInstance(data);
Assert.Equal((uint) value, input.ReadRawVarint32()); Assert.AreEqual((uint) value, input.ReadRawVarint32());
input = CodedInputStream.CreateInstance(data); input = CodedInputStream.CreateInstance(data);
Assert.Equal(value, input.ReadRawVarint64()); Assert.AreEqual(value, input.ReadRawVarint64());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
// Try different block sizes. // Try different block sizes.
for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2) for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2)
{ {
input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize)); input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize));
Assert.Equal((uint) value, input.ReadRawVarint32()); Assert.AreEqual((uint) value, input.ReadRawVarint32());
input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize)); input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize));
Assert.Equal(value, input.ReadRawVarint64()); Assert.AreEqual(value, input.ReadRawVarint64());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
} }
// Try reading directly from a MemoryStream. We want to verify that it // Try reading directly from a MemoryStream. We want to verify that it
@ -90,8 +90,8 @@ namespace Google.ProtocolBuffers
memoryStream.Write(data, 0, data.Length); memoryStream.Write(data, 0, data.Length);
memoryStream.WriteByte(0); memoryStream.WriteByte(0);
memoryStream.Position = 0; memoryStream.Position = 0;
Assert.Equal((uint) value, CodedInputStream.ReadRawVarint32(memoryStream)); Assert.AreEqual((uint) value, CodedInputStream.ReadRawVarint32(memoryStream));
Assert.Equal(data.Length, memoryStream.Position); Assert.AreEqual(data.Length, memoryStream.Position);
} }
/// <summary> /// <summary>
@ -103,18 +103,18 @@ namespace Google.ProtocolBuffers
{ {
CodedInputStream input = CodedInputStream.CreateInstance(data); CodedInputStream input = CodedInputStream.CreateInstance(data);
var exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint32()); var exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint32());
Assert.Equal(expected.Message, exception.Message); Assert.AreEqual(expected.Message, exception.Message);
input = CodedInputStream.CreateInstance(data); input = CodedInputStream.CreateInstance(data);
exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint64()); exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint64());
Assert.Equal(expected.Message, exception.Message); Assert.AreEqual(expected.Message, exception.Message);
// Make sure we get the same error when reading directly from a Stream. // Make sure we get the same error when reading directly from a Stream.
exception = Assert.Throws<InvalidProtocolBufferException>(() => CodedInputStream.ReadRawVarint32(new MemoryStream(data))); exception = Assert.Throws<InvalidProtocolBufferException>(() => CodedInputStream.ReadRawVarint32(new MemoryStream(data)));
Assert.Equal(expected.Message, exception.Message); Assert.AreEqual(expected.Message, exception.Message);
} }
[Fact] [Test]
public void ReadVarint() public void ReadVarint()
{ {
AssertReadVarint(Bytes(0x00), 0); AssertReadVarint(Bytes(0x00), 0);
@ -159,16 +159,16 @@ namespace Google.ProtocolBuffers
private static void AssertReadLittleEndian32(byte[] data, uint value) private static void AssertReadLittleEndian32(byte[] data, uint value)
{ {
CodedInputStream input = CodedInputStream.CreateInstance(data); CodedInputStream input = CodedInputStream.CreateInstance(data);
Assert.Equal(value, input.ReadRawLittleEndian32()); Assert.AreEqual(value, input.ReadRawLittleEndian32());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
// Try different block sizes. // Try different block sizes.
for (int blockSize = 1; blockSize <= 16; blockSize *= 2) for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
{ {
input = CodedInputStream.CreateInstance( input = CodedInputStream.CreateInstance(
new SmallBlockInputStream(data, blockSize)); new SmallBlockInputStream(data, blockSize));
Assert.Equal(value, input.ReadRawLittleEndian32()); Assert.AreEqual(value, input.ReadRawLittleEndian32());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
} }
} }
@ -179,20 +179,20 @@ namespace Google.ProtocolBuffers
private static void AssertReadLittleEndian64(byte[] data, ulong value) private static void AssertReadLittleEndian64(byte[] data, ulong value)
{ {
CodedInputStream input = CodedInputStream.CreateInstance(data); CodedInputStream input = CodedInputStream.CreateInstance(data);
Assert.Equal(value, input.ReadRawLittleEndian64()); Assert.AreEqual(value, input.ReadRawLittleEndian64());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
// Try different block sizes. // Try different block sizes.
for (int blockSize = 1; blockSize <= 16; blockSize *= 2) for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
{ {
input = CodedInputStream.CreateInstance( input = CodedInputStream.CreateInstance(
new SmallBlockInputStream(data, blockSize)); new SmallBlockInputStream(data, blockSize));
Assert.Equal(value, input.ReadRawLittleEndian64()); Assert.AreEqual(value, input.ReadRawLittleEndian64());
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
} }
} }
[Fact] [Test]
public void ReadLittleEndian() public void ReadLittleEndian()
{ {
AssertReadLittleEndian32(Bytes(0x78, 0x56, 0x34, 0x12), 0x12345678); AssertReadLittleEndian32(Bytes(0x78, 0x56, 0x34, 0x12), 0x12345678);
@ -204,41 +204,41 @@ namespace Google.ProtocolBuffers
Bytes(0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a), 0x9abcdef012345678UL); Bytes(0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a), 0x9abcdef012345678UL);
} }
[Fact] [Test]
public void DecodeZigZag32() public void DecodeZigZag32()
{ {
Assert.Equal(0, CodedInputStream.DecodeZigZag32(0)); Assert.AreEqual(0, CodedInputStream.DecodeZigZag32(0));
Assert.Equal(-1, CodedInputStream.DecodeZigZag32(1)); Assert.AreEqual(-1, CodedInputStream.DecodeZigZag32(1));
Assert.Equal(1, CodedInputStream.DecodeZigZag32(2)); Assert.AreEqual(1, CodedInputStream.DecodeZigZag32(2));
Assert.Equal(-2, CodedInputStream.DecodeZigZag32(3)); Assert.AreEqual(-2, CodedInputStream.DecodeZigZag32(3));
Assert.Equal(0x3FFFFFFF, CodedInputStream.DecodeZigZag32(0x7FFFFFFE)); Assert.AreEqual(0x3FFFFFFF, CodedInputStream.DecodeZigZag32(0x7FFFFFFE));
Assert.Equal(unchecked((int) 0xC0000000), CodedInputStream.DecodeZigZag32(0x7FFFFFFF)); Assert.AreEqual(unchecked((int) 0xC0000000), CodedInputStream.DecodeZigZag32(0x7FFFFFFF));
Assert.Equal(0x7FFFFFFF, CodedInputStream.DecodeZigZag32(0xFFFFFFFE)); Assert.AreEqual(0x7FFFFFFF, CodedInputStream.DecodeZigZag32(0xFFFFFFFE));
Assert.Equal(unchecked((int) 0x80000000), CodedInputStream.DecodeZigZag32(0xFFFFFFFF)); Assert.AreEqual(unchecked((int) 0x80000000), CodedInputStream.DecodeZigZag32(0xFFFFFFFF));
} }
[Fact] [Test]
public void DecodeZigZag64() public void DecodeZigZag64()
{ {
Assert.Equal(0, CodedInputStream.DecodeZigZag64(0)); Assert.AreEqual(0, CodedInputStream.DecodeZigZag64(0));
Assert.Equal(-1, CodedInputStream.DecodeZigZag64(1)); Assert.AreEqual(-1, CodedInputStream.DecodeZigZag64(1));
Assert.Equal(1, CodedInputStream.DecodeZigZag64(2)); Assert.AreEqual(1, CodedInputStream.DecodeZigZag64(2));
Assert.Equal(-2, CodedInputStream.DecodeZigZag64(3)); Assert.AreEqual(-2, CodedInputStream.DecodeZigZag64(3));
Assert.Equal(0x000000003FFFFFFFL, CodedInputStream.DecodeZigZag64(0x000000007FFFFFFEL)); Assert.AreEqual(0x000000003FFFFFFFL, CodedInputStream.DecodeZigZag64(0x000000007FFFFFFEL));
Assert.Equal(unchecked((long) 0xFFFFFFFFC0000000L), CodedInputStream.DecodeZigZag64(0x000000007FFFFFFFL)); Assert.AreEqual(unchecked((long) 0xFFFFFFFFC0000000L), CodedInputStream.DecodeZigZag64(0x000000007FFFFFFFL));
Assert.Equal(0x000000007FFFFFFFL, CodedInputStream.DecodeZigZag64(0x00000000FFFFFFFEL)); Assert.AreEqual(0x000000007FFFFFFFL, CodedInputStream.DecodeZigZag64(0x00000000FFFFFFFEL));
Assert.Equal(unchecked((long) 0xFFFFFFFF80000000L), CodedInputStream.DecodeZigZag64(0x00000000FFFFFFFFL)); Assert.AreEqual(unchecked((long) 0xFFFFFFFF80000000L), CodedInputStream.DecodeZigZag64(0x00000000FFFFFFFFL));
Assert.Equal(0x7FFFFFFFFFFFFFFFL, CodedInputStream.DecodeZigZag64(0xFFFFFFFFFFFFFFFEL)); Assert.AreEqual(0x7FFFFFFFFFFFFFFFL, CodedInputStream.DecodeZigZag64(0xFFFFFFFFFFFFFFFEL));
Assert.Equal(unchecked((long) 0x8000000000000000L), CodedInputStream.DecodeZigZag64(0xFFFFFFFFFFFFFFFFL)); Assert.AreEqual(unchecked((long) 0x8000000000000000L), CodedInputStream.DecodeZigZag64(0xFFFFFFFFFFFFFFFFL));
} }
[Fact] [Test]
public void ReadWholeMessage() public void ReadWholeMessage()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
byte[] rawBytes = message.ToByteArray(); byte[] rawBytes = message.ToByteArray();
Assert.Equal(rawBytes.Length, message.SerializedSize); Assert.AreEqual(rawBytes.Length, message.SerializedSize);
TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes); TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes);
TestUtil.AssertAllFieldsSet(message2); TestUtil.AssertAllFieldsSet(message2);
@ -250,7 +250,7 @@ namespace Google.ProtocolBuffers
} }
} }
[Fact] [Test]
public void SkipWholeMessage() public void SkipWholeMessage()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
@ -267,8 +267,8 @@ namespace Google.ProtocolBuffers
while (input1.ReadTag(out tag, out name)) while (input1.ReadTag(out tag, out name))
{ {
uint tag2; uint tag2;
Assert.True(input2.ReadTag(out tag2, out name)); Assert.IsTrue(input2.ReadTag(out tag2, out name));
Assert.Equal(tag, tag2); Assert.AreEqual(tag, tag2);
unknownFields.MergeFieldFrom(tag, input1); unknownFields.MergeFieldFrom(tag, input1);
input2.SkipField(); input2.SkipField();
@ -279,7 +279,7 @@ namespace Google.ProtocolBuffers
/// Test that a bug in SkipRawBytes has been fixed: if the skip /// Test that a bug in SkipRawBytes has been fixed: if the skip
/// skips exactly up to a limit, this should bnot break things /// skips exactly up to a limit, this should bnot break things
/// </summary> /// </summary>
[Fact] [Test]
public void SkipRawBytesBug() public void SkipRawBytesBug()
{ {
byte[] rawBytes = new byte[] {1, 2}; byte[] rawBytes = new byte[] {1, 2};
@ -288,7 +288,7 @@ namespace Google.ProtocolBuffers
int limit = input.PushLimit(1); int limit = input.PushLimit(1);
input.SkipRawBytes(1); input.SkipRawBytes(1);
input.PopLimit(limit); input.PopLimit(limit);
Assert.Equal(2, input.ReadRawByte()); Assert.AreEqual(2, input.ReadRawByte());
} }
public void ReadHugeBlob() public void ReadHugeBlob()
@ -311,7 +311,7 @@ namespace Google.ProtocolBuffers
// reading. // reading.
TestAllTypes message2 = TestAllTypes.ParseFrom(message.ToByteString().CreateCodedInput()); TestAllTypes message2 = TestAllTypes.ParseFrom(message.ToByteString().CreateCodedInput());
Assert.Equal(message.OptionalBytes, message2.OptionalBytes); Assert.AreEqual(message.OptionalBytes, message2.OptionalBytes);
// Make sure all the other fields were parsed correctly. // Make sure all the other fields were parsed correctly.
TestAllTypes message3 = TestAllTypes.CreateBuilder(message2) TestAllTypes message3 = TestAllTypes.CreateBuilder(message2)
@ -320,7 +320,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(message3); TestUtil.AssertAllFieldsSet(message3);
} }
[Fact] [Test]
public void ReadMaliciouslyLargeBlob() public void ReadMaliciouslyLargeBlob()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
@ -336,8 +336,8 @@ namespace Google.ProtocolBuffers
CodedInputStream input = CodedInputStream.CreateInstance(ms); CodedInputStream input = CodedInputStream.CreateInstance(ms);
uint testtag; uint testtag;
string ignore; string ignore;
Assert.True(input.ReadTag(out testtag, out ignore)); Assert.IsTrue(input.ReadTag(out testtag, out ignore));
Assert.Equal(tag, testtag); Assert.AreEqual(tag, testtag);
ByteString bytes = null; ByteString bytes = null;
// TODO(jonskeet): Should this be ArgumentNullException instead? // TODO(jonskeet): Should this be ArgumentNullException instead?
@ -361,17 +361,17 @@ namespace Google.ProtocolBuffers
{ {
if (depth == 0) if (depth == 0)
{ {
Assert.False(message.HasA); Assert.IsFalse(message.HasA);
Assert.Equal(5, message.I); Assert.AreEqual(5, message.I);
} }
else else
{ {
Assert.True(message.HasA); Assert.IsTrue(message.HasA);
AssertMessageDepth(message.A, depth - 1); AssertMessageDepth(message.A, depth - 1);
} }
} }
[Fact] [Test]
public void MaliciousRecursion() public void MaliciousRecursion()
{ {
ByteString data64 = MakeRecursiveMessage(64).ToByteString(); ByteString data64 = MakeRecursiveMessage(64).ToByteString();
@ -386,7 +386,7 @@ namespace Google.ProtocolBuffers
Assert.Throws<InvalidProtocolBufferException>(() => TestRecursiveMessage.ParseFrom(input)); Assert.Throws<InvalidProtocolBufferException>(() => TestRecursiveMessage.ParseFrom(input));
} }
[Fact] [Test]
public void SizeLimit() public void SizeLimit()
{ {
// Have to use a Stream rather than ByteString.CreateCodedInput as SizeLimit doesn't // Have to use a Stream rather than ByteString.CreateCodedInput as SizeLimit doesn't
@ -398,7 +398,7 @@ namespace Google.ProtocolBuffers
Assert.Throws<InvalidProtocolBufferException>(() => TestAllTypes.ParseFrom(input)); Assert.Throws<InvalidProtocolBufferException>(() => TestAllTypes.ParseFrom(input));
} }
[Fact] [Test]
public void ResetSizeCounter() public void ResetSizeCounter()
{ {
CodedInputStream input = CodedInputStream.CreateInstance( CodedInputStream input = CodedInputStream.CreateInstance(
@ -419,7 +419,7 @@ namespace Google.ProtocolBuffers
/// is thrown. Instead, the invalid bytes are replaced with the Unicode /// is thrown. Instead, the invalid bytes are replaced with the Unicode
/// "replacement character" U+FFFD. /// "replacement character" U+FFFD.
/// </summary> /// </summary>
[Fact] [Test]
public void ReadInvalidUtf8() public void ReadInvalidUtf8()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
@ -437,11 +437,11 @@ namespace Google.ProtocolBuffers
uint testtag; uint testtag;
string ignored; string ignored;
Assert.True(input.ReadTag(out testtag, out ignored)); Assert.IsTrue(input.ReadTag(out testtag, out ignored));
Assert.Equal(tag, testtag); Assert.AreEqual(tag, testtag);
string text = null; string text = null;
input.ReadString(ref text); input.ReadString(ref text);
Assert.Equal('\ufffd', text[0]); Assert.AreEqual('\ufffd', text[0]);
} }
/// <summary> /// <summary>
@ -467,7 +467,7 @@ namespace Google.ProtocolBuffers
enum TestNegEnum { None = 0, Value = -2 } enum TestNegEnum { None = 0, Value = -2 }
[Fact] [Test]
public void TestNegativeEnum() public void TestNegativeEnum()
{ {
byte[] bytes = new byte[10] { 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01 }; byte[] bytes = new byte[10] { 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01 };
@ -475,12 +475,12 @@ namespace Google.ProtocolBuffers
object unk; object unk;
TestNegEnum val = TestNegEnum.None; TestNegEnum val = TestNegEnum.None;
Assert.True(input.ReadEnum(ref val, out unk)); Assert.IsTrue(input.ReadEnum(ref val, out unk));
Assert.True(input.IsAtEnd); Assert.IsTrue(input.IsAtEnd);
Assert.Equal(TestNegEnum.Value, val); Assert.AreEqual(TestNegEnum.Value, val);
} }
[Fact] [Test]
public void TestNegativeEnumPackedArray() public void TestNegativeEnumPackedArray()
{ {
int arraySize = 1 + (10 * 5); int arraySize = 1 + (10 * 5);
@ -489,26 +489,26 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WritePackedInt32Array(8, "", arraySize, new int[] { 0, -1, -2, -3, -4, -5 }); output.WritePackedInt32Array(8, "", arraySize, new int[] { 0, -1, -2, -3, -4, -5 });
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
CodedInputStream input = CodedInputStream.CreateInstance(bytes); CodedInputStream input = CodedInputStream.CreateInstance(bytes);
uint tag; uint tag;
string name; string name;
Assert.True(input.ReadTag(out tag, out name)); Assert.IsTrue(input.ReadTag(out tag, out name));
List<TestNegEnum> values = new List<TestNegEnum>(); List<TestNegEnum> values = new List<TestNegEnum>();
ICollection<object> unk; ICollection<object> unk;
input.ReadEnumArray(tag, name, values, out unk); input.ReadEnumArray(tag, name, values, out unk);
Assert.Equal(2, values.Count); Assert.AreEqual(2, values.Count);
Assert.Equal(TestNegEnum.None, values[0]); Assert.AreEqual(TestNegEnum.None, values[0]);
Assert.Equal(TestNegEnum.Value, values[1]); Assert.AreEqual(TestNegEnum.Value, values[1]);
Assert.NotNull(unk); Assert.NotNull(unk);
Assert.Equal(4, unk.Count); Assert.AreEqual(4, unk.Count);
} }
[Fact] [Test]
public void TestNegativeEnumArray() public void TestNegativeEnumArray()
{ {
int arraySize = 1 + 1 + (11 * 5); int arraySize = 1 + 1 + (11 * 5);
@ -517,27 +517,27 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WriteInt32Array(8, "", new int[] { 0, -1, -2, -3, -4, -5 }); output.WriteInt32Array(8, "", new int[] { 0, -1, -2, -3, -4, -5 });
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
CodedInputStream input = CodedInputStream.CreateInstance(bytes); CodedInputStream input = CodedInputStream.CreateInstance(bytes);
uint tag; uint tag;
string name; string name;
Assert.True(input.ReadTag(out tag, out name)); Assert.IsTrue(input.ReadTag(out tag, out name));
List<TestNegEnum> values = new List<TestNegEnum>(); List<TestNegEnum> values = new List<TestNegEnum>();
ICollection<object> unk; ICollection<object> unk;
input.ReadEnumArray(tag, name, values, out unk); input.ReadEnumArray(tag, name, values, out unk);
Assert.Equal(2, values.Count); Assert.AreEqual(2, values.Count);
Assert.Equal(TestNegEnum.None, values[0]); Assert.AreEqual(TestNegEnum.None, values[0]);
Assert.Equal(TestNegEnum.Value, values[1]); Assert.AreEqual(TestNegEnum.Value, values[1]);
Assert.NotNull(unk); Assert.NotNull(unk);
Assert.Equal(4, unk.Count); Assert.AreEqual(4, unk.Count);
} }
//Issue 71: CodedInputStream.ReadBytes go to slow path unnecessarily //Issue 71: CodedInputStream.ReadBytes go to slow path unnecessarily
[Fact] [Test]
public void TestSlowPathAvoidance() public void TestSlowPathAvoidance()
{ {
using (var ms = new MemoryStream()) using (var ms = new MemoryStream())
@ -554,15 +554,15 @@ namespace Google.ProtocolBuffers
string ignore; string ignore;
ByteString value; ByteString value;
Assert.True(input.ReadTag(out tag, out ignore)); Assert.IsTrue(input.ReadTag(out tag, out ignore));
Assert.Equal(1, WireFormat.GetTagFieldNumber(tag)); Assert.AreEqual(1, WireFormat.GetTagFieldNumber(tag));
value = ByteString.Empty; value = ByteString.Empty;
Assert.True(input.ReadBytes(ref value) && value.Length == 100); Assert.IsTrue(input.ReadBytes(ref value) && value.Length == 100);
Assert.True(input.ReadTag(out tag, out ignore)); Assert.IsTrue(input.ReadTag(out tag, out ignore));
Assert.Equal(2, WireFormat.GetTagFieldNumber(tag)); Assert.AreEqual(2, WireFormat.GetTagFieldNumber(tag));
value = ByteString.Empty; value = ByteString.Empty;
Assert.True(input.ReadBytes(ref value) && value.Length == 100); Assert.IsTrue(input.ReadBytes(ref value) && value.Length == 100);
} }
} }
} }

@ -38,7 +38,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -57,9 +57,9 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
output.WriteRawVarint32((uint) value); output.WriteRawVarint32((uint) value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
// Also try computing size. // Also try computing size.
Assert.Equal(data.Length, CodedOutputStream.ComputeRawVarint32Size((uint) value)); Assert.AreEqual(data.Length, CodedOutputStream.ComputeRawVarint32Size((uint) value));
} }
{ {
@ -67,10 +67,10 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
output.WriteRawVarint64(value); output.WriteRawVarint64(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
// Also try computing size. // Also try computing size.
Assert.Equal(data.Length, CodedOutputStream.ComputeRawVarint64Size(value)); Assert.AreEqual(data.Length, CodedOutputStream.ComputeRawVarint64Size(value));
} }
// Try different buffer sizes. // Try different buffer sizes.
@ -84,7 +84,7 @@ namespace Google.ProtocolBuffers
CodedOutputStream.CreateInstance(rawOutput, bufferSize); CodedOutputStream.CreateInstance(rawOutput, bufferSize);
output.WriteRawVarint32((uint) value); output.WriteRawVarint32((uint) value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
} }
{ {
@ -92,7 +92,7 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput, bufferSize); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput, bufferSize);
output.WriteRawVarint64(value); output.WriteRawVarint64(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
} }
} }
} }
@ -100,7 +100,7 @@ namespace Google.ProtocolBuffers
/// <summary> /// <summary>
/// Tests WriteRawVarint32() and WriteRawVarint64() /// Tests WriteRawVarint32() and WriteRawVarint64()
/// </summary> /// </summary>
[Fact] [Test]
public void WriteVarint() public void WriteVarint()
{ {
AssertWriteVarint(new byte[] {0x00}, 0); AssertWriteVarint(new byte[] {0x00}, 0);
@ -142,7 +142,7 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
output.WriteRawLittleEndian32(value); output.WriteRawLittleEndian32(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
// Try different buffer sizes. // Try different buffer sizes.
for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2) for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2)
@ -151,7 +151,7 @@ namespace Google.ProtocolBuffers
output = CodedOutputStream.CreateInstance(rawOutput, bufferSize); output = CodedOutputStream.CreateInstance(rawOutput, bufferSize);
output.WriteRawLittleEndian32(value); output.WriteRawLittleEndian32(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
} }
} }
@ -165,7 +165,7 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
output.WriteRawLittleEndian64(value); output.WriteRawLittleEndian64(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
// Try different block sizes. // Try different block sizes.
for (int blockSize = 1; blockSize <= 16; blockSize *= 2) for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
@ -174,14 +174,14 @@ namespace Google.ProtocolBuffers
output = CodedOutputStream.CreateInstance(rawOutput, blockSize); output = CodedOutputStream.CreateInstance(rawOutput, blockSize);
output.WriteRawLittleEndian64(value); output.WriteRawLittleEndian64(value);
output.Flush(); output.Flush();
Assert.Equal(data, rawOutput.ToArray()); Assert.AreEqual(data, rawOutput.ToArray());
} }
} }
/// <summary> /// <summary>
/// Tests writeRawLittleEndian32() and writeRawLittleEndian64(). /// Tests writeRawLittleEndian32() and writeRawLittleEndian64().
/// </summary> /// </summary>
[Fact] [Test]
public void WriteLittleEndian() public void WriteLittleEndian()
{ {
AssertWriteLittleEndian32(new byte[] {0x78, 0x56, 0x34, 0x12}, 0x12345678); AssertWriteLittleEndian32(new byte[] {0x78, 0x56, 0x34, 0x12}, 0x12345678);
@ -195,7 +195,7 @@ namespace Google.ProtocolBuffers
0x9abcdef012345678UL); 0x9abcdef012345678UL);
} }
[Fact] [Test]
public void WriteWholeMessage() public void WriteWholeMessage()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
@ -219,7 +219,7 @@ namespace Google.ProtocolBuffers
/// Tests writing a whole message with every packed field type. Ensures the /// Tests writing a whole message with every packed field type. Ensures the
/// wire format of packed fields is compatible with C++. /// wire format of packed fields is compatible with C++.
/// </summary> /// </summary>
[Fact] [Test]
public void WriteWholePackedFieldsMessage() public void WriteWholePackedFieldsMessage()
{ {
TestPackedTypes message = TestUtil.GetPackedSet(); TestPackedTypes message = TestUtil.GetPackedSet();
@ -229,97 +229,97 @@ namespace Google.ProtocolBuffers
rawBytes); rawBytes);
} }
[Fact] [Test]
public void EncodeZigZag32() public void EncodeZigZag32()
{ {
Assert.Equal(0u, CodedOutputStream.EncodeZigZag32(0)); Assert.AreEqual(0u, CodedOutputStream.EncodeZigZag32(0));
Assert.Equal(1u, CodedOutputStream.EncodeZigZag32(-1)); Assert.AreEqual(1u, CodedOutputStream.EncodeZigZag32(-1));
Assert.Equal(2u, CodedOutputStream.EncodeZigZag32(1)); Assert.AreEqual(2u, CodedOutputStream.EncodeZigZag32(1));
Assert.Equal(3u, CodedOutputStream.EncodeZigZag32(-2)); Assert.AreEqual(3u, CodedOutputStream.EncodeZigZag32(-2));
Assert.Equal(0x7FFFFFFEu, CodedOutputStream.EncodeZigZag32(0x3FFFFFFF)); Assert.AreEqual(0x7FFFFFFEu, CodedOutputStream.EncodeZigZag32(0x3FFFFFFF));
Assert.Equal(0x7FFFFFFFu, CodedOutputStream.EncodeZigZag32(unchecked((int) 0xC0000000))); Assert.AreEqual(0x7FFFFFFFu, CodedOutputStream.EncodeZigZag32(unchecked((int) 0xC0000000)));
Assert.Equal(0xFFFFFFFEu, CodedOutputStream.EncodeZigZag32(0x7FFFFFFF)); Assert.AreEqual(0xFFFFFFFEu, CodedOutputStream.EncodeZigZag32(0x7FFFFFFF));
Assert.Equal(0xFFFFFFFFu, CodedOutputStream.EncodeZigZag32(unchecked((int) 0x80000000))); Assert.AreEqual(0xFFFFFFFFu, CodedOutputStream.EncodeZigZag32(unchecked((int) 0x80000000)));
} }
[Fact] [Test]
public void EncodeZigZag64() public void EncodeZigZag64()
{ {
Assert.Equal(0u, CodedOutputStream.EncodeZigZag64(0)); Assert.AreEqual(0u, CodedOutputStream.EncodeZigZag64(0));
Assert.Equal(1u, CodedOutputStream.EncodeZigZag64(-1)); Assert.AreEqual(1u, CodedOutputStream.EncodeZigZag64(-1));
Assert.Equal(2u, CodedOutputStream.EncodeZigZag64(1)); Assert.AreEqual(2u, CodedOutputStream.EncodeZigZag64(1));
Assert.Equal(3u, CodedOutputStream.EncodeZigZag64(-2)); Assert.AreEqual(3u, CodedOutputStream.EncodeZigZag64(-2));
Assert.Equal(0x000000007FFFFFFEuL, Assert.AreEqual(0x000000007FFFFFFEuL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0x000000003FFFFFFFUL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0x000000003FFFFFFFUL)));
Assert.Equal(0x000000007FFFFFFFuL, Assert.AreEqual(0x000000007FFFFFFFuL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0xFFFFFFFFC0000000UL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0xFFFFFFFFC0000000UL)));
Assert.Equal(0x00000000FFFFFFFEuL, Assert.AreEqual(0x00000000FFFFFFFEuL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0x000000007FFFFFFFUL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0x000000007FFFFFFFUL)));
Assert.Equal(0x00000000FFFFFFFFuL, Assert.AreEqual(0x00000000FFFFFFFFuL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0xFFFFFFFF80000000UL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0xFFFFFFFF80000000UL)));
Assert.Equal(0xFFFFFFFFFFFFFFFEL, Assert.AreEqual(0xFFFFFFFFFFFFFFFEL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0x7FFFFFFFFFFFFFFFUL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0x7FFFFFFFFFFFFFFFUL)));
Assert.Equal(0xFFFFFFFFFFFFFFFFL, Assert.AreEqual(0xFFFFFFFFFFFFFFFFL,
CodedOutputStream.EncodeZigZag64(unchecked((long) 0x8000000000000000UL))); CodedOutputStream.EncodeZigZag64(unchecked((long) 0x8000000000000000UL)));
} }
[Fact] [Test]
public void RoundTripZigZag32() public void RoundTripZigZag32()
{ {
// Some easier-to-verify round-trip tests. The inputs (other than 0, 1, -1) // Some easier-to-verify round-trip tests. The inputs (other than 0, 1, -1)
// were chosen semi-randomly via keyboard bashing. // were chosen semi-randomly via keyboard bashing.
Assert.Equal(0, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(0))); Assert.AreEqual(0, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(0)));
Assert.Equal(1, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(1))); Assert.AreEqual(1, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(1)));
Assert.Equal(-1, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(-1))); Assert.AreEqual(-1, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(-1)));
Assert.Equal(14927, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(14927))); Assert.AreEqual(14927, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(14927)));
Assert.Equal(-3612, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(-3612))); Assert.AreEqual(-3612, CodedInputStream.DecodeZigZag32(CodedOutputStream.EncodeZigZag32(-3612)));
} }
[Fact] [Test]
public void RoundTripZigZag64() public void RoundTripZigZag64()
{ {
Assert.Equal(0, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(0))); Assert.AreEqual(0, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(0)));
Assert.Equal(1, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(1))); Assert.AreEqual(1, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(1)));
Assert.Equal(-1, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-1))); Assert.AreEqual(-1, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-1)));
Assert.Equal(14927, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(14927))); Assert.AreEqual(14927, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(14927)));
Assert.Equal(-3612, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-3612))); Assert.AreEqual(-3612, CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-3612)));
Assert.Equal(856912304801416L, Assert.AreEqual(856912304801416L,
CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(856912304801416L))); CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(856912304801416L)));
Assert.Equal(-75123905439571256L, Assert.AreEqual(-75123905439571256L,
CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-75123905439571256L))); CodedInputStream.DecodeZigZag64(CodedOutputStream.EncodeZigZag64(-75123905439571256L)));
} }
[Fact] [Test]
public void TestNegativeEnumNoTag() public void TestNegativeEnumNoTag()
{ {
Assert.Equal(10, CodedOutputStream.ComputeInt32SizeNoTag(-2)); Assert.AreEqual(10, CodedOutputStream.ComputeInt32SizeNoTag(-2));
Assert.Equal(10, CodedOutputStream.ComputeEnumSizeNoTag(-2)); Assert.AreEqual(10, CodedOutputStream.ComputeEnumSizeNoTag(-2));
byte[] bytes = new byte[10]; byte[] bytes = new byte[10];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WriteEnumNoTag(-2); output.WriteEnumNoTag(-2);
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
Assert.Equal("FE-FF-FF-FF-FF-FF-FF-FF-FF-01", BitConverter.ToString(bytes)); Assert.AreEqual("FE-FF-FF-FF-FF-FF-FF-FF-FF-01", BitConverter.ToString(bytes));
} }
[Fact] [Test]
public void TestNegativeEnumWithTag() public void TestNegativeEnumWithTag()
{ {
Assert.Equal(11, CodedOutputStream.ComputeInt32Size(8, -2)); Assert.AreEqual(11, CodedOutputStream.ComputeInt32Size(8, -2));
Assert.Equal(11, CodedOutputStream.ComputeEnumSize(8, -2)); Assert.AreEqual(11, CodedOutputStream.ComputeEnumSize(8, -2));
byte[] bytes = new byte[11]; byte[] bytes = new byte[11];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WriteEnum(8, "", -2, -2); output.WriteEnum(8, "", -2, -2);
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
//fyi, 0x40 == 0x08 << 3 + 0, field num + wire format shift //fyi, 0x40 == 0x08 << 3 + 0, field num + wire format shift
Assert.Equal("40-FE-FF-FF-FF-FF-FF-FF-FF-FF-01", BitConverter.ToString(bytes)); Assert.AreEqual("40-FE-FF-FF-FF-FF-FF-FF-FF-FF-01", BitConverter.ToString(bytes));
} }
[Fact] [Test]
public void TestNegativeEnumArrayPacked() public void TestNegativeEnumArrayPacked()
{ {
int arraySize = 1 + (10 * 5); int arraySize = 1 + (10 * 5);
@ -328,22 +328,22 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WritePackedEnumArray(8, "", arraySize, new int[] { 0, -1, -2, -3, -4, -5 }); output.WritePackedEnumArray(8, "", arraySize, new int[] { 0, -1, -2, -3, -4, -5 });
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
CodedInputStream input = CodedInputStream.CreateInstance(bytes); CodedInputStream input = CodedInputStream.CreateInstance(bytes);
uint tag; uint tag;
string name; string name;
Assert.True(input.ReadTag(out tag, out name)); Assert.IsTrue(input.ReadTag(out tag, out name));
List<int> values = new List<int>(); List<int> values = new List<int>();
input.ReadInt32Array(tag, name, values); input.ReadInt32Array(tag, name, values);
Assert.Equal(6, values.Count); Assert.AreEqual(6, values.Count);
for (int i = 0; i > -6; i--) for (int i = 0; i > -6; i--)
Assert.Equal(i, values[Math.Abs(i)]); Assert.AreEqual(i, values[Math.Abs(i)]);
} }
[Fact] [Test]
public void TestNegativeEnumArray() public void TestNegativeEnumArray()
{ {
int arraySize = 1 + 1 + (11 * 5); int arraySize = 1 + 1 + (11 * 5);
@ -352,22 +352,22 @@ namespace Google.ProtocolBuffers
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
output.WriteEnumArray(8, "", new int[] { 0, -1, -2, -3, -4, -5 }); output.WriteEnumArray(8, "", new int[] { 0, -1, -2, -3, -4, -5 });
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
CodedInputStream input = CodedInputStream.CreateInstance(bytes); CodedInputStream input = CodedInputStream.CreateInstance(bytes);
uint tag; uint tag;
string name; string name;
Assert.True(input.ReadTag(out tag, out name)); Assert.IsTrue(input.ReadTag(out tag, out name));
List<int> values = new List<int>(); List<int> values = new List<int>();
input.ReadInt32Array(tag, name, values); input.ReadInt32Array(tag, name, values);
Assert.Equal(6, values.Count); Assert.AreEqual(6, values.Count);
for (int i = 0; i > -6; i--) for (int i = 0; i > -6; i--)
Assert.Equal(i, values[Math.Abs(i)]); Assert.AreEqual(i, values[Math.Abs(i)]);
} }
[Fact] [Test]
public void TestCodedInputOutputPosition() public void TestCodedInputOutputPosition()
{ {
byte[] content = new byte[110]; byte[] content = new byte[110];
@ -380,19 +380,19 @@ namespace Google.ProtocolBuffers
CodedOutputStream cout = CodedOutputStream.CreateInstance(ms, 20); CodedOutputStream cout = CodedOutputStream.CreateInstance(ms, 20);
// Field 11: numeric value: 500 // Field 11: numeric value: 500
cout.WriteTag(11, WireFormat.WireType.Varint); cout.WriteTag(11, WireFormat.WireType.Varint);
Assert.Equal(1, cout.Position); Assert.AreEqual(1, cout.Position);
cout.WriteInt32NoTag(500); cout.WriteInt32NoTag(500);
Assert.Equal(3, cout.Position); Assert.AreEqual(3, cout.Position);
//Field 12: length delimited 120 bytes //Field 12: length delimited 120 bytes
cout.WriteTag(12, WireFormat.WireType.LengthDelimited); cout.WriteTag(12, WireFormat.WireType.LengthDelimited);
Assert.Equal(4, cout.Position); Assert.AreEqual(4, cout.Position);
cout.WriteBytesNoTag(ByteString.CopyFrom(content)); cout.WriteBytesNoTag(ByteString.CopyFrom(content));
Assert.Equal(115, cout.Position); Assert.AreEqual(115, cout.Position);
// Field 13: fixed numeric value: 501 // Field 13: fixed numeric value: 501
cout.WriteTag(13, WireFormat.WireType.Fixed32); cout.WriteTag(13, WireFormat.WireType.Fixed32);
Assert.Equal(116, cout.Position); Assert.AreEqual(116, cout.Position);
cout.WriteSFixed32NoTag(501); cout.WriteSFixed32NoTag(501);
Assert.Equal(120, cout.Position); Assert.AreEqual(120, cout.Position);
cout.Flush(); cout.Flush();
} }
@ -401,19 +401,19 @@ namespace Google.ProtocolBuffers
CodedOutputStream cout = CodedOutputStream.CreateInstance(bytes); CodedOutputStream cout = CodedOutputStream.CreateInstance(bytes);
// Field 1: numeric value: 500 // Field 1: numeric value: 500
cout.WriteTag(1, WireFormat.WireType.Varint); cout.WriteTag(1, WireFormat.WireType.Varint);
Assert.Equal(1, cout.Position); Assert.AreEqual(1, cout.Position);
cout.WriteInt32NoTag(500); cout.WriteInt32NoTag(500);
Assert.Equal(3, cout.Position); Assert.AreEqual(3, cout.Position);
//Field 2: length delimited 120 bytes //Field 2: length delimited 120 bytes
cout.WriteTag(2, WireFormat.WireType.LengthDelimited); cout.WriteTag(2, WireFormat.WireType.LengthDelimited);
Assert.Equal(4, cout.Position); Assert.AreEqual(4, cout.Position);
cout.WriteBytesNoTag(ByteString.CopyFrom(child)); cout.WriteBytesNoTag(ByteString.CopyFrom(child));
Assert.Equal(125, cout.Position); Assert.AreEqual(125, cout.Position);
// Field 3: fixed numeric value: 500 // Field 3: fixed numeric value: 500
cout.WriteTag(3, WireFormat.WireType.Fixed32); cout.WriteTag(3, WireFormat.WireType.Fixed32);
Assert.Equal(126, cout.Position); Assert.AreEqual(126, cout.Position);
cout.WriteSFixed32NoTag(501); cout.WriteSFixed32NoTag(501);
Assert.Equal(130, cout.Position); Assert.AreEqual(130, cout.Position);
cout.Flush(); cout.Flush();
} }
//Now test Input stream: //Now test Input stream:
@ -422,49 +422,49 @@ namespace Google.ProtocolBuffers
uint tag; uint tag;
int intValue = 0; int intValue = 0;
string ignore; string ignore;
Assert.Equal(0, cin.Position); Assert.AreEqual(0, cin.Position);
// Field 1: // Field 1:
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 1); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 1);
Assert.Equal(1, cin.Position); Assert.AreEqual(1, cin.Position);
Assert.True(cin.ReadInt32(ref intValue) && intValue == 500); Assert.IsTrue(cin.ReadInt32(ref intValue) && intValue == 500);
Assert.Equal(3, cin.Position); Assert.AreEqual(3, cin.Position);
//Field 2: //Field 2:
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 2); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 2);
Assert.Equal(4, cin.Position); Assert.AreEqual(4, cin.Position);
uint childlen = cin.ReadRawVarint32(); uint childlen = cin.ReadRawVarint32();
Assert.Equal(120u, childlen); Assert.AreEqual(120u, childlen);
Assert.Equal(5, cin.Position); Assert.AreEqual(5, cin.Position);
int oldlimit = cin.PushLimit((int)childlen); int oldlimit = cin.PushLimit((int)childlen);
Assert.Equal(5, cin.Position); Assert.AreEqual(5, cin.Position);
// Now we are reading child message // Now we are reading child message
{ {
// Field 11: numeric value: 500 // Field 11: numeric value: 500
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 11); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 11);
Assert.Equal(6, cin.Position); Assert.AreEqual(6, cin.Position);
Assert.True(cin.ReadInt32(ref intValue) && intValue == 500); Assert.IsTrue(cin.ReadInt32(ref intValue) && intValue == 500);
Assert.Equal(8, cin.Position); Assert.AreEqual(8, cin.Position);
//Field 12: length delimited 120 bytes //Field 12: length delimited 120 bytes
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 12); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 12);
Assert.Equal(9, cin.Position); Assert.AreEqual(9, cin.Position);
ByteString bstr = null; ByteString bstr = null;
Assert.True(cin.ReadBytes(ref bstr) && bstr.Length == 110 && bstr.ToByteArray()[109] == 109); Assert.IsTrue(cin.ReadBytes(ref bstr) && bstr.Length == 110 && bstr.ToByteArray()[109] == 109);
Assert.Equal(120, cin.Position); Assert.AreEqual(120, cin.Position);
// Field 13: fixed numeric value: 501 // Field 13: fixed numeric value: 501
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 13); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 13);
// ROK - Previously broken here, this returned 126 failing to account for bufferSizeAfterLimit // ROK - Previously broken here, this returned 126 failing to account for bufferSizeAfterLimit
Assert.Equal(121, cin.Position); Assert.AreEqual(121, cin.Position);
Assert.True(cin.ReadSFixed32(ref intValue) && intValue == 501); Assert.IsTrue(cin.ReadSFixed32(ref intValue) && intValue == 501);
Assert.Equal(125, cin.Position); Assert.AreEqual(125, cin.Position);
Assert.True(cin.IsAtEnd); Assert.IsTrue(cin.IsAtEnd);
} }
cin.PopLimit(oldlimit); cin.PopLimit(oldlimit);
Assert.Equal(125, cin.Position); Assert.AreEqual(125, cin.Position);
// Field 3: fixed numeric value: 501 // Field 3: fixed numeric value: 501
Assert.True(cin.ReadTag(out tag, out ignore) && tag >> 3 == 3); Assert.IsTrue(cin.ReadTag(out tag, out ignore) && tag >> 3 == 3);
Assert.Equal(126, cin.Position); Assert.AreEqual(126, cin.Position);
Assert.True(cin.ReadSFixed32(ref intValue) && intValue == 501); Assert.IsTrue(cin.ReadSFixed32(ref intValue) && intValue == 501);
Assert.Equal(130, cin.Position); Assert.AreEqual(130, cin.Position);
Assert.True(cin.IsAtEnd); Assert.IsTrue(cin.IsAtEnd);
} }
} }
} }

@ -36,13 +36,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers.Collections namespace Google.ProtocolBuffers.Collections
{ {
public class PopsicleListTest public class PopsicleListTest
{ {
[Fact] [Test]
public void MutatingOperationsOnFrozenList() public void MutatingOperationsOnFrozenList()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
@ -55,20 +55,20 @@ namespace Google.ProtocolBuffers.Collections
Assert.Throws<NotSupportedException>(() => list.Add(new[] { "", "" })); Assert.Throws<NotSupportedException>(() => list.Add(new[] { "", "" }));
} }
[Fact] [Test]
public void NonMutatingOperationsOnFrozenList() public void NonMutatingOperationsOnFrozenList()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
list.MakeReadOnly(); list.MakeReadOnly();
Assert.False(list.Contains("")); Assert.IsFalse(list.Contains(""));
Assert.Equal(0, list.Count); Assert.AreEqual(0, list.Count);
list.CopyTo(new string[5], 0); list.CopyTo(new string[5], 0);
list.GetEnumerator(); list.GetEnumerator();
Assert.Equal(-1, list.IndexOf("")); Assert.AreEqual(-1, list.IndexOf(""));
Assert.True(list.IsReadOnly); Assert.IsTrue(list.IsReadOnly);
} }
[Fact] [Test]
public void MutatingOperationsOnFluidList() public void MutatingOperationsOnFluidList()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
@ -80,26 +80,26 @@ namespace Google.ProtocolBuffers.Collections
list.RemoveAt(0); list.RemoveAt(0);
} }
[Fact] [Test]
public void NonMutatingOperationsOnFluidList() public void NonMutatingOperationsOnFluidList()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
Assert.False(list.Contains("")); Assert.IsFalse(list.Contains(""));
Assert.Equal(0, list.Count); Assert.AreEqual(0, list.Count);
list.CopyTo(new string[5], 0); list.CopyTo(new string[5], 0);
list.GetEnumerator(); list.GetEnumerator();
Assert.Equal(-1, list.IndexOf("")); Assert.AreEqual(-1, list.IndexOf(""));
Assert.False(list.IsReadOnly); Assert.IsFalse(list.IsReadOnly);
} }
[Fact] [Test]
public void DoesNotAddNullEnumerable() public void DoesNotAddNullEnumerable()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
Assert.Throws<ArgumentNullException>(() => list.Add((IEnumerable<string>) null)); Assert.Throws<ArgumentNullException>(() => list.Add((IEnumerable<string>) null));
} }
[Fact] [Test]
public void DoesNotAddRangeWithNull() public void DoesNotAddRangeWithNull()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
@ -107,14 +107,14 @@ namespace Google.ProtocolBuffers.Collections
Assert.Throws<ArgumentNullException>(() => list.Add(new[] {"a", "b", null})); Assert.Throws<ArgumentNullException>(() => list.Add(new[] {"a", "b", null}));
} }
[Fact] [Test]
public void DoesNotAddNull() public void DoesNotAddNull()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();
Assert.Throws<ArgumentNullException>(() => list.Add((string) null)); Assert.Throws<ArgumentNullException>(() => list.Add((string) null));
} }
[Fact] [Test]
public void DoesNotSetNull() public void DoesNotSetNull()
{ {
PopsicleList<string> list = new PopsicleList<string>(); PopsicleList<string> list = new PopsicleList<string>();

@ -1,13 +1,13 @@
using System; using System;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
/// <summary> /// <summary>
/// This abstract base implements several tests to ensure that well-known messages can be written /// This abstract base implements several tests to ensure that well-known messages can be written
/// and read to/from various formats without losing data. Implementations overload the two serailization /// and read to/from various formats without losing data. Implementations override the two serialization
/// methods to provide the tests with the means to read and write for a given format. /// methods to provide the tests with the means to read and write for a given format.
/// </summary> /// </summary>
public abstract class CompatibilityTests public abstract class CompatibilityTests
@ -22,10 +22,10 @@ namespace Google.ProtocolBuffers.Compatibility
protected virtual void AssertOutputEquals(object lhs, object rhs) protected virtual void AssertOutputEquals(object lhs, object rhs)
{ {
Assert.Equal<object>(lhs, rhs); Assert.AreEqual(lhs, rhs);
} }
[Fact] [Test]
public virtual void RoundTripWithEmptyChildMessageSize() public virtual void RoundTripWithEmptyChildMessageSize()
{ {
SizeMessage1 msg = SizeMessage1.CreateBuilder() SizeMessage1 msg = SizeMessage1.CreateBuilder()
@ -37,12 +37,12 @@ namespace Google.ProtocolBuffers.Compatibility
SizeMessage1 copy = DeserializeMessage<SizeMessage1, SizeMessage1.Builder>(content, SizeMessage1.CreateBuilder(), ExtensionRegistry.Empty).BuildPartial(); SizeMessage1 copy = DeserializeMessage<SizeMessage1, SizeMessage1.Builder>(content, SizeMessage1.CreateBuilder(), ExtensionRegistry.Empty).BuildPartial();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SizeMessage1, SizeMessage1.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SizeMessage1, SizeMessage1.Builder>(copy));
Assert.Equal(Convert.ToBase64String(contents), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(contents), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public virtual void RoundTripWithEmptyChildMessageSpeed() public virtual void RoundTripWithEmptyChildMessageSpeed()
{ {
SpeedMessage1 msg = SpeedMessage1.CreateBuilder() SpeedMessage1 msg = SpeedMessage1.CreateBuilder()
@ -54,12 +54,12 @@ namespace Google.ProtocolBuffers.Compatibility
SpeedMessage1 copy = DeserializeMessage<SpeedMessage1, SpeedMessage1.Builder>(content, SpeedMessage1.CreateBuilder(), ExtensionRegistry.Empty).BuildPartial(); SpeedMessage1 copy = DeserializeMessage<SpeedMessage1, SpeedMessage1.Builder>(content, SpeedMessage1.CreateBuilder(), ExtensionRegistry.Empty).BuildPartial();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SpeedMessage1, SpeedMessage1.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SpeedMessage1, SpeedMessage1.Builder>(copy));
Assert.Equal(Convert.ToBase64String(contents), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(contents), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public virtual void RoundTripMessage1OptimizeSize() public virtual void RoundTripMessage1OptimizeSize()
{ {
SizeMessage1 msg = SizeMessage1.CreateBuilder().MergeFrom(TestResources.google_message1).Build(); SizeMessage1 msg = SizeMessage1.CreateBuilder().MergeFrom(TestResources.google_message1).Build();
@ -67,12 +67,12 @@ namespace Google.ProtocolBuffers.Compatibility
SizeMessage1 copy = DeserializeMessage<SizeMessage1, SizeMessage1.Builder>(content, SizeMessage1.CreateBuilder(), ExtensionRegistry.Empty).Build(); SizeMessage1 copy = DeserializeMessage<SizeMessage1, SizeMessage1.Builder>(content, SizeMessage1.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SizeMessage1, SizeMessage1.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SizeMessage1, SizeMessage1.Builder>(copy));
Assert.Equal(Convert.ToBase64String(TestResources.google_message1), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(TestResources.google_message1), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public virtual void RoundTripMessage2OptimizeSize() public virtual void RoundTripMessage2OptimizeSize()
{ {
SizeMessage2 msg = SizeMessage2.CreateBuilder().MergeFrom(TestResources.google_message2).Build(); SizeMessage2 msg = SizeMessage2.CreateBuilder().MergeFrom(TestResources.google_message2).Build();
@ -80,12 +80,12 @@ namespace Google.ProtocolBuffers.Compatibility
SizeMessage2 copy = DeserializeMessage<SizeMessage2, SizeMessage2.Builder>(content, SizeMessage2.CreateBuilder(), ExtensionRegistry.Empty).Build(); SizeMessage2 copy = DeserializeMessage<SizeMessage2, SizeMessage2.Builder>(content, SizeMessage2.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SizeMessage2, SizeMessage2.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SizeMessage2, SizeMessage2.Builder>(copy));
Assert.Equal(Convert.ToBase64String(TestResources.google_message2), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(TestResources.google_message2), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public virtual void RoundTripMessage1OptimizeSpeed() public virtual void RoundTripMessage1OptimizeSpeed()
{ {
SpeedMessage1 msg = SpeedMessage1.CreateBuilder().MergeFrom(TestResources.google_message1).Build(); SpeedMessage1 msg = SpeedMessage1.CreateBuilder().MergeFrom(TestResources.google_message1).Build();
@ -93,12 +93,12 @@ namespace Google.ProtocolBuffers.Compatibility
SpeedMessage1 copy = DeserializeMessage<SpeedMessage1, SpeedMessage1.Builder>(content, SpeedMessage1.CreateBuilder(), ExtensionRegistry.Empty).Build(); SpeedMessage1 copy = DeserializeMessage<SpeedMessage1, SpeedMessage1.Builder>(content, SpeedMessage1.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SpeedMessage1, SpeedMessage1.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SpeedMessage1, SpeedMessage1.Builder>(copy));
Assert.Equal(Convert.ToBase64String(TestResources.google_message1), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(TestResources.google_message1), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public virtual void RoundTripMessage2OptimizeSpeed() public virtual void RoundTripMessage2OptimizeSpeed()
{ {
SpeedMessage2 msg = SpeedMessage2.CreateBuilder().MergeFrom(TestResources.google_message2).Build(); SpeedMessage2 msg = SpeedMessage2.CreateBuilder().MergeFrom(TestResources.google_message2).Build();
@ -106,9 +106,9 @@ namespace Google.ProtocolBuffers.Compatibility
SpeedMessage2 copy = DeserializeMessage<SpeedMessage2, SpeedMessage2.Builder>(content, SpeedMessage2.CreateBuilder(), ExtensionRegistry.Empty).Build(); SpeedMessage2 copy = DeserializeMessage<SpeedMessage2, SpeedMessage2.Builder>(content, SpeedMessage2.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<SpeedMessage2, SpeedMessage2.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<SpeedMessage2, SpeedMessage2.Builder>(copy));
Assert.Equal(Convert.ToBase64String(TestResources.google_message2), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(TestResources.google_message2), Convert.ToBase64String(copy.ToByteArray()));
} }
#region Test message builders #region Test message builders
@ -185,7 +185,7 @@ namespace Google.ProtocolBuffers.Compatibility
#endregion #endregion
[Fact] [Test]
public void TestRoundTripAllTypes() public void TestRoundTripAllTypes()
{ {
TestAllTypes msg = AddAllTypes(new TestAllTypes.Builder()).Build(); TestAllTypes msg = AddAllTypes(new TestAllTypes.Builder()).Build();
@ -193,12 +193,12 @@ namespace Google.ProtocolBuffers.Compatibility
TestAllTypes copy = DeserializeMessage<TestAllTypes, TestAllTypes.Builder>(content, TestAllTypes.CreateBuilder(), ExtensionRegistry.Empty).Build(); TestAllTypes copy = DeserializeMessage<TestAllTypes, TestAllTypes.Builder>(content, TestAllTypes.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<TestAllTypes, TestAllTypes.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<TestAllTypes, TestAllTypes.Builder>(copy));
Assert.Equal(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public void TestRoundTripRepeatedTypes() public void TestRoundTripRepeatedTypes()
{ {
TestAllTypes msg = AddRepeatedTypes(new TestAllTypes.Builder(), 5).Build(); TestAllTypes msg = AddRepeatedTypes(new TestAllTypes.Builder(), 5).Build();
@ -206,12 +206,12 @@ namespace Google.ProtocolBuffers.Compatibility
TestAllTypes copy = DeserializeMessage<TestAllTypes, TestAllTypes.Builder>(content, TestAllTypes.CreateBuilder(), ExtensionRegistry.Empty).Build(); TestAllTypes copy = DeserializeMessage<TestAllTypes, TestAllTypes.Builder>(content, TestAllTypes.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<TestAllTypes, TestAllTypes.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<TestAllTypes, TestAllTypes.Builder>(copy));
Assert.Equal(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray()));
} }
[Fact] [Test]
public void TestRoundTripPackedTypes() public void TestRoundTripPackedTypes()
{ {
TestPackedTypes msg = AddPackedTypes(new TestPackedTypes.Builder(), 5).Build(); TestPackedTypes msg = AddPackedTypes(new TestPackedTypes.Builder(), 5).Build();
@ -219,9 +219,9 @@ namespace Google.ProtocolBuffers.Compatibility
TestPackedTypes copy = DeserializeMessage<TestPackedTypes, TestPackedTypes.Builder>(content, TestPackedTypes.CreateBuilder(), ExtensionRegistry.Empty).Build(); TestPackedTypes copy = DeserializeMessage<TestPackedTypes, TestPackedTypes.Builder>(content, TestPackedTypes.CreateBuilder(), ExtensionRegistry.Empty).Build();
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
AssertOutputEquals(content, SerializeMessage<TestPackedTypes, TestPackedTypes.Builder>(copy)); AssertOutputEquals(content, SerializeMessage<TestPackedTypes, TestPackedTypes.Builder>(copy));
Assert.Equal(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray())); Assert.AreEqual(Convert.ToBase64String(msg.ToByteArray()), Convert.ToBase64String(copy.ToByteArray()));
} }
} }
} }

@ -1,10 +1,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
[TestFixture]
public class DictionaryCompatibilityTests : CompatibilityTests public class DictionaryCompatibilityTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)
@ -25,7 +26,7 @@ namespace Google.ProtocolBuffers.Compatibility
IDictionary<string, object> left = (IDictionary<string, object>)lhs; IDictionary<string, object> left = (IDictionary<string, object>)lhs;
IDictionary<string, object> right = (IDictionary<string, object>)rhs; IDictionary<string, object> right = (IDictionary<string, object>)rhs;
Assert.Equal( Assert.AreEqual(
String.Join(",", new List<string>(left.Keys).ToArray()), String.Join(",", new List<string>(left.Keys).ToArray()),
String.Join(",", new List<string>(right.Keys).ToArray()) String.Join(",", new List<string>(right.Keys).ToArray())
); );

@ -1,8 +1,10 @@
using System.IO; using System.IO;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
[TestFixture]
public class JsonCompatibilityTests : CompatibilityTests public class JsonCompatibilityTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)
@ -20,6 +22,7 @@ namespace Google.ProtocolBuffers.Compatibility
} }
} }
[TestFixture]
public class JsonCompatibilityFormattedTests : CompatibilityTests public class JsonCompatibilityFormattedTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)

@ -1,5 +1,5 @@
using System.IO; using System.IO;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
@ -16,7 +16,7 @@ namespace Google.ProtocolBuffers.Compatibility
byte[] bytes = new byte[resource.Length]; byte[] bytes = new byte[resource.Length];
int amtRead = resource.Read(bytes, 0, bytes.Length); int amtRead = resource.Read(bytes, 0, bytes.Length);
Assert.Equal(bytes.Length, amtRead); Assert.AreEqual(bytes.Length, amtRead);
return bytes; return bytes;
} }
} }
@ -30,7 +30,7 @@ namespace Google.ProtocolBuffers.Compatibility
Assert.NotNull(resource); Assert.NotNull(resource);
byte[] bytes = new byte[resource.Length]; byte[] bytes = new byte[resource.Length];
int amtRead = resource.Read(bytes, 0, bytes.Length); int amtRead = resource.Read(bytes, 0, bytes.Length);
Assert.Equal(bytes.Length, amtRead); Assert.AreEqual(bytes.Length, amtRead);
return bytes; return bytes;
} }
} }

@ -1,8 +1,9 @@
using System.IO; using System.IO;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
[TestFixture]
public class TextCompatibilityTests : CompatibilityTests public class TextCompatibilityTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)
@ -18,14 +19,14 @@ namespace Google.ProtocolBuffers.Compatibility
return builder; return builder;
} }
//This test can take a very long time to run. //This test can take a very long time to run.
[Fact] [Test]
public override void RoundTripMessage2OptimizeSize() public override void RoundTripMessage2OptimizeSize()
{ {
//base.RoundTripMessage2OptimizeSize(); //base.RoundTripMessage2OptimizeSize();
} }
//This test can take a very long time to run. //This test can take a very long time to run.
[Fact] [Test]
public override void RoundTripMessage2OptimizeSpeed() public override void RoundTripMessage2OptimizeSpeed()
{ {
//base.RoundTripMessage2OptimizeSpeed(); //base.RoundTripMessage2OptimizeSpeed();

@ -1,9 +1,11 @@
using System.IO; using System.IO;
using System.Xml; using System.Xml;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using NUnit.Framework;
namespace Google.ProtocolBuffers.Compatibility namespace Google.ProtocolBuffers.Compatibility
{ {
[TestFixture]
public class XmlCompatibilityTests : CompatibilityTests public class XmlCompatibilityTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)
@ -21,6 +23,7 @@ namespace Google.ProtocolBuffers.Compatibility
} }
} }
[TestFixture]
public class XmlCompatibilityFormattedTests : CompatibilityTests public class XmlCompatibilityFormattedTests : CompatibilityTests
{ {
protected override object SerializeMessage<TMessage, TBuilder>(TMessage message) protected override object SerializeMessage<TMessage, TBuilder>(TMessage message)

@ -1,7 +1,7 @@
using System; using System;
using System.Reflection; using System.Reflection;
using UnitTest.Issues.TestProtos; using UnitTest.Issues.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -10,10 +10,10 @@ namespace Google.ProtocolBuffers
private static void AssertIsDeprecated(MemberInfo member) private static void AssertIsDeprecated(MemberInfo member)
{ {
Assert.NotNull(member); Assert.NotNull(member);
Assert.True(member.IsDefined(typeof(ObsoleteAttribute), false), "Member not obsolete: " + member); Assert.IsTrue(member.IsDefined(typeof(ObsoleteAttribute), false), "Member not obsolete: " + member);
} }
[Fact] [Test]
public void TestDepreatedPrimitiveValue() public void TestDepreatedPrimitiveValue()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasPrimitiveValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasPrimitiveValue"));
@ -24,7 +24,7 @@ namespace Google.ProtocolBuffers
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearPrimitiveValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearPrimitiveValue"));
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetPrimitiveValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetPrimitiveValue"));
} }
[Fact] [Test]
public void TestDepreatedPrimitiveArray() public void TestDepreatedPrimitiveArray()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("PrimitiveArrayList")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("PrimitiveArrayList"));
@ -39,7 +39,7 @@ namespace Google.ProtocolBuffers
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("AddRangePrimitiveArray")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("AddRangePrimitiveArray"));
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearPrimitiveArray")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearPrimitiveArray"));
} }
[Fact] [Test]
public void TestDepreatedMessageValue() public void TestDepreatedMessageValue()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasMessageValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasMessageValue"));
@ -52,7 +52,7 @@ namespace Google.ProtocolBuffers
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetMessageValue", new[] { typeof(DeprecatedChild) })); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetMessageValue", new[] { typeof(DeprecatedChild) }));
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetMessageValue", new[] { typeof(DeprecatedChild.Builder) })); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetMessageValue", new[] { typeof(DeprecatedChild.Builder) }));
} }
[Fact] [Test]
public void TestDepreatedMessageArray() public void TestDepreatedMessageArray()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("MessageArrayList")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("MessageArrayList"));
@ -69,7 +69,7 @@ namespace Google.ProtocolBuffers
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("AddRangeMessageArray")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("AddRangeMessageArray"));
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearMessageArray")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearMessageArray"));
} }
[Fact] [Test]
public void TestDepreatedEnumValue() public void TestDepreatedEnumValue()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasEnumValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("HasEnumValue"));
@ -80,7 +80,7 @@ namespace Google.ProtocolBuffers
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearEnumValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("ClearEnumValue"));
AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetEnumValue")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage.Builder).GetMethod("SetEnumValue"));
} }
[Fact] [Test]
public void TestDepreatedEnumArray() public void TestDepreatedEnumArray()
{ {
AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("EnumArrayList")); AssertIsDeprecated(typeof(DeprecatedFieldsMessage).GetProperty("EnumArrayList"));

@ -36,7 +36,7 @@
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -46,103 +46,103 @@ namespace Google.ProtocolBuffers
/// </summary> /// </summary>
public class DescriptorsTest public class DescriptorsTest
{ {
[Fact] [Test]
public void FileDescriptor() public void FileDescriptor()
{ {
FileDescriptor file = Unittest.Descriptor; FileDescriptor file = Unittest.Descriptor;
Assert.Equal("google/protobuf/unittest.proto", file.Name); Assert.AreEqual("google/protobuf/unittest.proto", file.Name);
Assert.Equal("protobuf_unittest", file.Package); Assert.AreEqual("protobuf_unittest", file.Package);
Assert.Equal("UnittestProto", file.Options.JavaOuterClassname); Assert.AreEqual("UnittestProto", file.Options.JavaOuterClassname);
Assert.Equal("google/protobuf/unittest.proto", file.Proto.Name); Assert.AreEqual("google/protobuf/unittest.proto", file.Proto.Name);
// unittest.proto doesn't have any public imports, but unittest_import.proto does. // unittest.proto doesn't have any public imports, but unittest_import.proto does.
Assert.Equal(0, file.PublicDependencies.Count); Assert.AreEqual(0, file.PublicDependencies.Count);
Assert.Equal(1, UnittestImport.Descriptor.PublicDependencies.Count); Assert.AreEqual(1, UnittestImport.Descriptor.PublicDependencies.Count);
Assert.Equal(UnittestImportPublic.Descriptor, UnittestImport.Descriptor.PublicDependencies[0]); Assert.AreEqual(UnittestImportPublic.Descriptor, UnittestImport.Descriptor.PublicDependencies[0]);
Assert.Equal(1, file.Dependencies.Count); Assert.AreEqual(1, file.Dependencies.Count);
Assert.Equal(UnittestImport.Descriptor, file.Dependencies[0]); Assert.AreEqual(UnittestImport.Descriptor, file.Dependencies[0]);
MessageDescriptor messageType = TestAllTypes.Descriptor; MessageDescriptor messageType = TestAllTypes.Descriptor;
Assert.Equal(messageType, file.MessageTypes[0]); Assert.AreEqual(messageType, file.MessageTypes[0]);
Assert.Equal(messageType, file.FindTypeByName<MessageDescriptor>("TestAllTypes")); Assert.AreEqual(messageType, file.FindTypeByName<MessageDescriptor>("TestAllTypes"));
Assert.Null(file.FindTypeByName<MessageDescriptor>("NoSuchType")); Assert.Null(file.FindTypeByName<MessageDescriptor>("NoSuchType"));
Assert.Null(file.FindTypeByName<MessageDescriptor>("protobuf_unittest.TestAllTypes")); Assert.Null(file.FindTypeByName<MessageDescriptor>("protobuf_unittest.TestAllTypes"));
for (int i = 0; i < file.MessageTypes.Count; i++) for (int i = 0; i < file.MessageTypes.Count; i++)
{ {
Assert.Equal(i, file.MessageTypes[i].Index); Assert.AreEqual(i, file.MessageTypes[i].Index);
} }
Assert.Equal(file.EnumTypes[0], file.FindTypeByName<EnumDescriptor>("ForeignEnum")); Assert.AreEqual(file.EnumTypes[0], file.FindTypeByName<EnumDescriptor>("ForeignEnum"));
Assert.Null(file.FindTypeByName<EnumDescriptor>("NoSuchType")); Assert.Null(file.FindTypeByName<EnumDescriptor>("NoSuchType"));
Assert.Null(file.FindTypeByName<EnumDescriptor>("protobuf_unittest.ForeignEnum")); Assert.Null(file.FindTypeByName<EnumDescriptor>("protobuf_unittest.ForeignEnum"));
Assert.Equal(1, UnittestImport.Descriptor.EnumTypes.Count); Assert.AreEqual(1, UnittestImport.Descriptor.EnumTypes.Count);
Assert.Equal("ImportEnum", UnittestImport.Descriptor.EnumTypes[0].Name); Assert.AreEqual("ImportEnum", UnittestImport.Descriptor.EnumTypes[0].Name);
for (int i = 0; i < file.EnumTypes.Count; i++) for (int i = 0; i < file.EnumTypes.Count; i++)
{ {
Assert.Equal(i, file.EnumTypes[i].Index); Assert.AreEqual(i, file.EnumTypes[i].Index);
} }
FieldDescriptor extension = Unittest.OptionalInt32Extension.Descriptor; FieldDescriptor extension = Unittest.OptionalInt32Extension.Descriptor;
Assert.Equal(extension, file.Extensions[0]); Assert.AreEqual(extension, file.Extensions[0]);
Assert.Equal(extension, file.FindTypeByName<FieldDescriptor>("optional_int32_extension")); Assert.AreEqual(extension, file.FindTypeByName<FieldDescriptor>("optional_int32_extension"));
Assert.Null(file.FindTypeByName<FieldDescriptor>("no_such_ext")); Assert.Null(file.FindTypeByName<FieldDescriptor>("no_such_ext"));
Assert.Null(file.FindTypeByName<FieldDescriptor>("protobuf_unittest.optional_int32_extension")); Assert.Null(file.FindTypeByName<FieldDescriptor>("protobuf_unittest.optional_int32_extension"));
Assert.Equal(0, UnittestImport.Descriptor.Extensions.Count); Assert.AreEqual(0, UnittestImport.Descriptor.Extensions.Count);
for (int i = 0; i < file.Extensions.Count; i++) for (int i = 0; i < file.Extensions.Count; i++)
{ {
Assert.Equal(i, file.Extensions[i].Index); Assert.AreEqual(i, file.Extensions[i].Index);
} }
} }
[Fact] [Test]
public void MessageDescriptor() public void MessageDescriptor()
{ {
MessageDescriptor messageType = TestAllTypes.Descriptor; MessageDescriptor messageType = TestAllTypes.Descriptor;
MessageDescriptor nestedType = TestAllTypes.Types.NestedMessage.Descriptor; MessageDescriptor nestedType = TestAllTypes.Types.NestedMessage.Descriptor;
Assert.Equal("TestAllTypes", messageType.Name); Assert.AreEqual("TestAllTypes", messageType.Name);
Assert.Equal("protobuf_unittest.TestAllTypes", messageType.FullName); Assert.AreEqual("protobuf_unittest.TestAllTypes", messageType.FullName);
Assert.Equal(Unittest.Descriptor, messageType.File); Assert.AreEqual(Unittest.Descriptor, messageType.File);
Assert.Null(messageType.ContainingType); Assert.Null(messageType.ContainingType);
Assert.Equal(DescriptorProtos.MessageOptions.DefaultInstance, messageType.Options); Assert.AreEqual(DescriptorProtos.MessageOptions.DefaultInstance, messageType.Options);
Assert.Equal("TestAllTypes", messageType.Proto.Name); Assert.AreEqual("TestAllTypes", messageType.Proto.Name);
Assert.Equal("NestedMessage", nestedType.Name); Assert.AreEqual("NestedMessage", nestedType.Name);
Assert.Equal("protobuf_unittest.TestAllTypes.NestedMessage", nestedType.FullName); Assert.AreEqual("protobuf_unittest.TestAllTypes.NestedMessage", nestedType.FullName);
Assert.Equal(Unittest.Descriptor, nestedType.File); Assert.AreEqual(Unittest.Descriptor, nestedType.File);
Assert.Equal(messageType, nestedType.ContainingType); Assert.AreEqual(messageType, nestedType.ContainingType);
FieldDescriptor field = messageType.Fields[0]; FieldDescriptor field = messageType.Fields[0];
Assert.Equal("optional_int32", field.Name); Assert.AreEqual("optional_int32", field.Name);
Assert.Equal(field, messageType.FindDescriptor<FieldDescriptor>("optional_int32")); Assert.AreEqual(field, messageType.FindDescriptor<FieldDescriptor>("optional_int32"));
Assert.Null(messageType.FindDescriptor<FieldDescriptor>("no_such_field")); Assert.Null(messageType.FindDescriptor<FieldDescriptor>("no_such_field"));
Assert.Equal(field, messageType.FindFieldByNumber(1)); Assert.AreEqual(field, messageType.FindFieldByNumber(1));
Assert.Null(messageType.FindFieldByNumber(571283)); Assert.Null(messageType.FindFieldByNumber(571283));
for (int i = 0; i < messageType.Fields.Count; i++) for (int i = 0; i < messageType.Fields.Count; i++)
{ {
Assert.Equal(i, messageType.Fields[i].Index); Assert.AreEqual(i, messageType.Fields[i].Index);
} }
Assert.Equal(nestedType, messageType.NestedTypes[0]); Assert.AreEqual(nestedType, messageType.NestedTypes[0]);
Assert.Equal(nestedType, messageType.FindDescriptor<MessageDescriptor>("NestedMessage")); Assert.AreEqual(nestedType, messageType.FindDescriptor<MessageDescriptor>("NestedMessage"));
Assert.Null(messageType.FindDescriptor<MessageDescriptor>("NoSuchType")); Assert.Null(messageType.FindDescriptor<MessageDescriptor>("NoSuchType"));
for (int i = 0; i < messageType.NestedTypes.Count; i++) for (int i = 0; i < messageType.NestedTypes.Count; i++)
{ {
Assert.Equal(i, messageType.NestedTypes[i].Index); Assert.AreEqual(i, messageType.NestedTypes[i].Index);
} }
Assert.Equal(messageType.EnumTypes[0], messageType.FindDescriptor<EnumDescriptor>("NestedEnum")); Assert.AreEqual(messageType.EnumTypes[0], messageType.FindDescriptor<EnumDescriptor>("NestedEnum"));
Assert.Null(messageType.FindDescriptor<EnumDescriptor>("NoSuchType")); Assert.Null(messageType.FindDescriptor<EnumDescriptor>("NoSuchType"));
for (int i = 0; i < messageType.EnumTypes.Count; i++) for (int i = 0; i < messageType.EnumTypes.Count; i++)
{ {
Assert.Equal(i, messageType.EnumTypes[i].Index); Assert.AreEqual(i, messageType.EnumTypes[i].Index);
} }
} }
[Fact] [Test]
public void FieldDescriptor() public void FieldDescriptor()
{ {
MessageDescriptor messageType = TestAllTypes.Descriptor; MessageDescriptor messageType = TestAllTypes.Descriptor;
@ -153,54 +153,54 @@ namespace Google.ProtocolBuffers
FieldDescriptor extension = Unittest.OptionalInt32Extension.Descriptor; FieldDescriptor extension = Unittest.OptionalInt32Extension.Descriptor;
FieldDescriptor nestedExtension = TestRequired.Single.Descriptor; FieldDescriptor nestedExtension = TestRequired.Single.Descriptor;
Assert.Equal("optional_int32", primitiveField.Name); Assert.AreEqual("optional_int32", primitiveField.Name);
Assert.Equal("protobuf_unittest.TestAllTypes.optional_int32", Assert.AreEqual("protobuf_unittest.TestAllTypes.optional_int32",
primitiveField.FullName); primitiveField.FullName);
Assert.Equal(1, primitiveField.FieldNumber); Assert.AreEqual(1, primitiveField.FieldNumber);
Assert.Equal(messageType, primitiveField.ContainingType); Assert.AreEqual(messageType, primitiveField.ContainingType);
Assert.Equal(Unittest.Descriptor, primitiveField.File); Assert.AreEqual(Unittest.Descriptor, primitiveField.File);
Assert.Equal(FieldType.Int32, primitiveField.FieldType); Assert.AreEqual(FieldType.Int32, primitiveField.FieldType);
Assert.Equal(MappedType.Int32, primitiveField.MappedType); Assert.AreEqual(MappedType.Int32, primitiveField.MappedType);
Assert.Equal(DescriptorProtos.FieldOptions.DefaultInstance, primitiveField.Options); Assert.AreEqual(DescriptorProtos.FieldOptions.DefaultInstance, primitiveField.Options);
Assert.False(primitiveField.IsExtension); Assert.IsFalse(primitiveField.IsExtension);
Assert.Equal("optional_int32", primitiveField.Proto.Name); Assert.AreEqual("optional_int32", primitiveField.Proto.Name);
Assert.Equal("optional_nested_enum", enumField.Name); Assert.AreEqual("optional_nested_enum", enumField.Name);
Assert.Equal(FieldType.Enum, enumField.FieldType); Assert.AreEqual(FieldType.Enum, enumField.FieldType);
Assert.Equal(MappedType.Enum, enumField.MappedType); Assert.AreEqual(MappedType.Enum, enumField.MappedType);
// Assert.Equal(TestAllTypes.Types.NestedEnum.DescriptorProtoFile, enumField.EnumType); // Assert.AreEqual(TestAllTypes.Types.NestedEnum.DescriptorProtoFile, enumField.EnumType);
Assert.Equal("optional_foreign_message", messageField.Name); Assert.AreEqual("optional_foreign_message", messageField.Name);
Assert.Equal(FieldType.Message, messageField.FieldType); Assert.AreEqual(FieldType.Message, messageField.FieldType);
Assert.Equal(MappedType.Message, messageField.MappedType); Assert.AreEqual(MappedType.Message, messageField.MappedType);
Assert.Equal(ForeignMessage.Descriptor, messageField.MessageType); Assert.AreEqual(ForeignMessage.Descriptor, messageField.MessageType);
Assert.Equal("optional_cord", cordField.Name); Assert.AreEqual("optional_cord", cordField.Name);
Assert.Equal(FieldType.String, cordField.FieldType); Assert.AreEqual(FieldType.String, cordField.FieldType);
Assert.Equal(MappedType.String, cordField.MappedType); Assert.AreEqual(MappedType.String, cordField.MappedType);
Assert.Equal(DescriptorProtos.FieldOptions.Types.CType.CORD, cordField.Options.Ctype); Assert.AreEqual(DescriptorProtos.FieldOptions.Types.CType.CORD, cordField.Options.Ctype);
Assert.Equal("optional_int32_extension", extension.Name); Assert.AreEqual("optional_int32_extension", extension.Name);
Assert.Equal("protobuf_unittest.optional_int32_extension", extension.FullName); Assert.AreEqual("protobuf_unittest.optional_int32_extension", extension.FullName);
Assert.Equal(1, extension.FieldNumber); Assert.AreEqual(1, extension.FieldNumber);
Assert.Equal(TestAllExtensions.Descriptor, extension.ContainingType); Assert.AreEqual(TestAllExtensions.Descriptor, extension.ContainingType);
Assert.Equal(Unittest.Descriptor, extension.File); Assert.AreEqual(Unittest.Descriptor, extension.File);
Assert.Equal(FieldType.Int32, extension.FieldType); Assert.AreEqual(FieldType.Int32, extension.FieldType);
Assert.Equal(MappedType.Int32, extension.MappedType); Assert.AreEqual(MappedType.Int32, extension.MappedType);
Assert.Equal(DescriptorProtos.FieldOptions.DefaultInstance, Assert.AreEqual(DescriptorProtos.FieldOptions.DefaultInstance,
extension.Options); extension.Options);
Assert.True(extension.IsExtension); Assert.IsTrue(extension.IsExtension);
Assert.Equal(null, extension.ExtensionScope); Assert.AreEqual(null, extension.ExtensionScope);
Assert.Equal("optional_int32_extension", extension.Proto.Name); Assert.AreEqual("optional_int32_extension", extension.Proto.Name);
Assert.Equal("single", nestedExtension.Name); Assert.AreEqual("single", nestedExtension.Name);
Assert.Equal("protobuf_unittest.TestRequired.single", Assert.AreEqual("protobuf_unittest.TestRequired.single",
nestedExtension.FullName); nestedExtension.FullName);
Assert.Equal(TestRequired.Descriptor, Assert.AreEqual(TestRequired.Descriptor,
nestedExtension.ExtensionScope); nestedExtension.ExtensionScope);
} }
[Fact] [Test]
public void FieldDescriptorLabel() public void FieldDescriptorLabel()
{ {
FieldDescriptor requiredField = FieldDescriptor requiredField =
@ -210,76 +210,76 @@ namespace Google.ProtocolBuffers
FieldDescriptor repeatedField = FieldDescriptor repeatedField =
TestAllTypes.Descriptor.FindDescriptor<FieldDescriptor>("repeated_int32"); TestAllTypes.Descriptor.FindDescriptor<FieldDescriptor>("repeated_int32");
Assert.True(requiredField.IsRequired); Assert.IsTrue(requiredField.IsRequired);
Assert.False(requiredField.IsRepeated); Assert.IsFalse(requiredField.IsRepeated);
Assert.False(optionalField.IsRequired); Assert.IsFalse(optionalField.IsRequired);
Assert.False(optionalField.IsRepeated); Assert.IsFalse(optionalField.IsRepeated);
Assert.False(repeatedField.IsRequired); Assert.IsFalse(repeatedField.IsRequired);
Assert.True(repeatedField.IsRepeated); Assert.IsTrue(repeatedField.IsRepeated);
} }
[Fact] [Test]
public void FieldDescriptorDefault() public void FieldDescriptorDefault()
{ {
MessageDescriptor d = TestAllTypes.Descriptor; MessageDescriptor d = TestAllTypes.Descriptor;
Assert.False(d.FindDescriptor<FieldDescriptor>("optional_int32").HasDefaultValue); Assert.IsFalse(d.FindDescriptor<FieldDescriptor>("optional_int32").HasDefaultValue);
Assert.Equal<object>(0, d.FindDescriptor<FieldDescriptor>("optional_int32").DefaultValue); Assert.AreEqual(0, d.FindDescriptor<FieldDescriptor>("optional_int32").DefaultValue);
Assert.True(d.FindDescriptor<FieldDescriptor>("default_int32").HasDefaultValue); Assert.IsTrue(d.FindDescriptor<FieldDescriptor>("default_int32").HasDefaultValue);
Assert.Equal<object>(41, d.FindDescriptor<FieldDescriptor>("default_int32").DefaultValue); Assert.AreEqual(41, d.FindDescriptor<FieldDescriptor>("default_int32").DefaultValue);
d = TestExtremeDefaultValues.Descriptor; d = TestExtremeDefaultValues.Descriptor;
Assert.Equal<object>(TestExtremeDefaultValues.DefaultInstance.EscapedBytes, Assert.AreEqual(TestExtremeDefaultValues.DefaultInstance.EscapedBytes,
d.FindDescriptor<FieldDescriptor>("escaped_bytes").DefaultValue); d.FindDescriptor<FieldDescriptor>("escaped_bytes").DefaultValue);
Assert.Equal<object>(uint.MaxValue, d.FindDescriptor<FieldDescriptor>("large_uint32").DefaultValue); Assert.AreEqual(uint.MaxValue, d.FindDescriptor<FieldDescriptor>("large_uint32").DefaultValue);
Assert.Equal<object>(ulong.MaxValue, d.FindDescriptor<FieldDescriptor>("large_uint64").DefaultValue); Assert.AreEqual(ulong.MaxValue, d.FindDescriptor<FieldDescriptor>("large_uint64").DefaultValue);
} }
[Fact] [Test]
public void EnumDescriptor() public void EnumDescriptor()
{ {
// Note: this test is a bit different to the Java version because there's no static way of getting to the descriptor // Note: this test is a bit different to the Java version because there's no static way of getting to the descriptor
EnumDescriptor enumType = Unittest.Descriptor.FindTypeByName<EnumDescriptor>("ForeignEnum"); EnumDescriptor enumType = Unittest.Descriptor.FindTypeByName<EnumDescriptor>("ForeignEnum");
EnumDescriptor nestedType = TestAllTypes.Descriptor.FindDescriptor<EnumDescriptor>("NestedEnum"); EnumDescriptor nestedType = TestAllTypes.Descriptor.FindDescriptor<EnumDescriptor>("NestedEnum");
Assert.Equal("ForeignEnum", enumType.Name); Assert.AreEqual("ForeignEnum", enumType.Name);
Assert.Equal("protobuf_unittest.ForeignEnum", enumType.FullName); Assert.AreEqual("protobuf_unittest.ForeignEnum", enumType.FullName);
Assert.Equal(Unittest.Descriptor, enumType.File); Assert.AreEqual(Unittest.Descriptor, enumType.File);
Assert.Null(enumType.ContainingType); Assert.Null(enumType.ContainingType);
Assert.Equal(DescriptorProtos.EnumOptions.DefaultInstance, Assert.AreEqual(DescriptorProtos.EnumOptions.DefaultInstance,
enumType.Options); enumType.Options);
Assert.Equal("NestedEnum", nestedType.Name); Assert.AreEqual("NestedEnum", nestedType.Name);
Assert.Equal("protobuf_unittest.TestAllTypes.NestedEnum", Assert.AreEqual("protobuf_unittest.TestAllTypes.NestedEnum",
nestedType.FullName); nestedType.FullName);
Assert.Equal(Unittest.Descriptor, nestedType.File); Assert.AreEqual(Unittest.Descriptor, nestedType.File);
Assert.Equal(TestAllTypes.Descriptor, nestedType.ContainingType); Assert.AreEqual(TestAllTypes.Descriptor, nestedType.ContainingType);
EnumValueDescriptor value = enumType.FindValueByName("FOREIGN_FOO"); EnumValueDescriptor value = enumType.FindValueByName("FOREIGN_FOO");
Assert.Equal(value, enumType.Values[0]); Assert.AreEqual(value, enumType.Values[0]);
Assert.Equal("FOREIGN_FOO", value.Name); Assert.AreEqual("FOREIGN_FOO", value.Name);
Assert.Equal(4, value.Number); Assert.AreEqual(4, value.Number);
Assert.Equal((int) ForeignEnum.FOREIGN_FOO, value.Number); Assert.AreEqual((int) ForeignEnum.FOREIGN_FOO, value.Number);
Assert.Equal(value, enumType.FindValueByNumber(4)); Assert.AreEqual(value, enumType.FindValueByNumber(4));
Assert.Null(enumType.FindValueByName("NO_SUCH_VALUE")); Assert.Null(enumType.FindValueByName("NO_SUCH_VALUE"));
for (int i = 0; i < enumType.Values.Count; i++) for (int i = 0; i < enumType.Values.Count; i++)
{ {
Assert.Equal(i, enumType.Values[i].Index); Assert.AreEqual(i, enumType.Values[i].Index);
} }
} }
[Fact] [Test]
public void CustomOptions() public void CustomOptions()
{ {
MessageDescriptor descriptor = TestMessageWithCustomOptions.Descriptor; MessageDescriptor descriptor = TestMessageWithCustomOptions.Descriptor;
Assert.True(descriptor.Options.HasExtension(UnittestCustomOptions.MessageOpt1)); Assert.IsTrue(descriptor.Options.HasExtension(UnittestCustomOptions.MessageOpt1));
Assert.Equal(-56, descriptor.Options.GetExtension(UnittestCustomOptions.MessageOpt1)); Assert.AreEqual(-56, descriptor.Options.GetExtension(UnittestCustomOptions.MessageOpt1));
FieldDescriptor field = descriptor.FindFieldByName("field1"); FieldDescriptor field = descriptor.FindFieldByName("field1");
Assert.NotNull(field); Assert.NotNull(field);
Assert.True(field.Options.HasExtension(UnittestCustomOptions.FieldOpt1)); Assert.IsTrue(field.Options.HasExtension(UnittestCustomOptions.FieldOpt1));
Assert.Equal(8765432109uL, field.Options.GetExtension(UnittestCustomOptions.FieldOpt1)); Assert.AreEqual(8765432109uL, field.Options.GetExtension(UnittestCustomOptions.FieldOpt1));
} }
} }

@ -37,7 +37,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -54,7 +54,7 @@ namespace Google.ProtocolBuffers
packedReflectionTester = ReflectionTester.CreateTestPackedTypesInstance(); packedReflectionTester = ReflectionTester.CreateTestPackedTypesInstance();
} }
[Fact] [Test]
public void DynamicMessageAccessors() public void DynamicMessageAccessors()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
@ -63,7 +63,7 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertAllFieldsSetViaReflection(message); reflectionTester.AssertAllFieldsSetViaReflection(message);
} }
[Fact] [Test]
public void DoubleBuildError() public void DoubleBuildError()
{ {
DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
@ -71,14 +71,14 @@ namespace Google.ProtocolBuffers
Assert.Throws<InvalidOperationException>(() => builder.Build()); Assert.Throws<InvalidOperationException>(() => builder.Build());
} }
[Fact] [Test]
public void DynamicMessageSettersRejectNull() public void DynamicMessageSettersRejectNull()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
reflectionTester.AssertReflectionSettersRejectNull(builder); reflectionTester.AssertReflectionSettersRejectNull(builder);
} }
[Fact] [Test]
public void DynamicMessageExtensionAccessors() public void DynamicMessageExtensionAccessors()
{ {
// We don't need to extensively test DynamicMessage's handling of // We don't need to extensively test DynamicMessage's handling of
@ -90,14 +90,14 @@ namespace Google.ProtocolBuffers
extensionsReflectionTester.AssertAllFieldsSetViaReflection(message); extensionsReflectionTester.AssertAllFieldsSetViaReflection(message);
} }
[Fact] [Test]
public void DynamicMessageExtensionSettersRejectNull() public void DynamicMessageExtensionSettersRejectNull()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllExtensions.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllExtensions.Descriptor);
extensionsReflectionTester.AssertReflectionSettersRejectNull(builder); extensionsReflectionTester.AssertReflectionSettersRejectNull(builder);
} }
[Fact] [Test]
public void DynamicMessageRepeatedSetters() public void DynamicMessageRepeatedSetters()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
@ -107,21 +107,21 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertRepeatedFieldsModifiedViaReflection(message); reflectionTester.AssertRepeatedFieldsModifiedViaReflection(message);
} }
[Fact] [Test]
public void DynamicMessageRepeatedSettersRejectNull() public void DynamicMessageRepeatedSettersRejectNull()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
reflectionTester.AssertReflectionRepeatedSettersRejectNull(builder); reflectionTester.AssertReflectionRepeatedSettersRejectNull(builder);
} }
[Fact] [Test]
public void DynamicMessageDefaults() public void DynamicMessageDefaults()
{ {
reflectionTester.AssertClearViaReflection(DynamicMessage.GetDefaultInstance(TestAllTypes.Descriptor)); reflectionTester.AssertClearViaReflection(DynamicMessage.GetDefaultInstance(TestAllTypes.Descriptor));
reflectionTester.AssertClearViaReflection(DynamicMessage.CreateBuilder(TestAllTypes.Descriptor).Build()); reflectionTester.AssertClearViaReflection(DynamicMessage.CreateBuilder(TestAllTypes.Descriptor).Build());
} }
[Fact] [Test]
public void DynamicMessageSerializedSize() public void DynamicMessageSerializedSize()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
@ -130,10 +130,10 @@ namespace Google.ProtocolBuffers
reflectionTester.SetAllFieldsViaReflection(dynamicBuilder); reflectionTester.SetAllFieldsViaReflection(dynamicBuilder);
IMessage dynamicMessage = dynamicBuilder.WeakBuild(); IMessage dynamicMessage = dynamicBuilder.WeakBuild();
Assert.Equal(message.SerializedSize, dynamicMessage.SerializedSize); Assert.AreEqual(message.SerializedSize, dynamicMessage.SerializedSize);
} }
[Fact] [Test]
public void DynamicMessageSerialization() public void DynamicMessageSerialization()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestAllTypes.Descriptor);
@ -146,10 +146,10 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(message2); TestUtil.AssertAllFieldsSet(message2);
// In fact, the serialized forms should be exactly the same, byte-for-byte. // In fact, the serialized forms should be exactly the same, byte-for-byte.
Assert.Equal(TestUtil.GetAllSet().ToByteString(), rawBytes); Assert.AreEqual(TestUtil.GetAllSet().ToByteString(), rawBytes);
} }
[Fact] [Test]
public void DynamicMessageParsing() public void DynamicMessageParsing()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -162,7 +162,7 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertAllFieldsSetViaReflection(message2); reflectionTester.AssertAllFieldsSetViaReflection(message2);
} }
[Fact] [Test]
public void DynamicMessagePackedSerialization() public void DynamicMessagePackedSerialization()
{ {
IBuilder builder = DynamicMessage.CreateBuilder(TestPackedTypes.Descriptor); IBuilder builder = DynamicMessage.CreateBuilder(TestPackedTypes.Descriptor);
@ -175,10 +175,10 @@ namespace Google.ProtocolBuffers
TestUtil.AssertPackedFieldsSet(message2); TestUtil.AssertPackedFieldsSet(message2);
// In fact, the serialized forms should be exactly the same, byte-for-byte. // In fact, the serialized forms should be exactly the same, byte-for-byte.
Assert.Equal(TestUtil.GetPackedSet().ToByteString(), rawBytes); Assert.AreEqual(TestUtil.GetPackedSet().ToByteString(), rawBytes);
} }
[Fact] [Test]
public void DynamicMessagePackedParsing() public void DynamicMessagePackedParsing()
{ {
TestPackedTypes.Builder builder = TestPackedTypes.CreateBuilder(); TestPackedTypes.Builder builder = TestPackedTypes.CreateBuilder();
@ -191,7 +191,7 @@ namespace Google.ProtocolBuffers
packedReflectionTester.AssertPackedFieldsSetViaReflection(message2); packedReflectionTester.AssertPackedFieldsSetViaReflection(message2);
} }
[Fact] [Test]
public void DynamicMessageCopy() public void DynamicMessageCopy()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -202,7 +202,7 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertAllFieldsSetViaReflection(copy); reflectionTester.AssertAllFieldsSetViaReflection(copy);
} }
[Fact] [Test]
public void ToBuilder() public void ToBuilder()
{ {
DynamicMessage.Builder builder = DynamicMessage.Builder builder =
@ -220,8 +220,8 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertAllFieldsSetViaReflection(derived); reflectionTester.AssertAllFieldsSetViaReflection(derived);
IList<ulong> values = derived.UnknownFields.FieldDictionary[unknownFieldNum].VarintList; IList<ulong> values = derived.UnknownFields.FieldDictionary[unknownFieldNum].VarintList;
Assert.Equal(1, values.Count); Assert.AreEqual(1, values.Count);
Assert.Equal(unknownFieldVal, values[0]); Assert.AreEqual(unknownFieldVal, values[0]);
} }
} }
} }

@ -36,13 +36,13 @@
using System; using System;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class ExtendableMessageTest public class ExtendableMessageTest
{ {
[Fact] [Test]
public void ExtensionWriterInvalidExtension() public void ExtensionWriterInvalidExtension()
{ {
Assert.Throws<ArgumentException>(() => Assert.Throws<ArgumentException>(() =>
@ -50,7 +50,7 @@ namespace Google.ProtocolBuffers
ForeignMessage.DefaultInstance); ForeignMessage.DefaultInstance);
} }
[Fact] [Test]
public void ExtensionWriterTest() public void ExtensionWriterTest()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder() TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder()
@ -126,75 +126,75 @@ namespace Google.ProtocolBuffers
registry); registry);
TestAllExtensions copy = copyBuilder.Build(); TestAllExtensions copy = copyBuilder.Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal(true, copy.GetExtension(Unittest.DefaultBoolExtension)); Assert.AreEqual(true, copy.GetExtension(Unittest.DefaultBoolExtension));
Assert.Equal(ByteString.CopyFromUtf8("123"), copy.GetExtension(Unittest.DefaultBytesExtension)); Assert.AreEqual(ByteString.CopyFromUtf8("123"), copy.GetExtension(Unittest.DefaultBytesExtension));
Assert.Equal("123", copy.GetExtension(Unittest.DefaultCordExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.DefaultCordExtension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultDoubleExtension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultDoubleExtension));
Assert.Equal(123u, copy.GetExtension(Unittest.DefaultFixed32Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.DefaultFixed32Extension));
Assert.Equal(123u, copy.GetExtension(Unittest.DefaultFixed64Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.DefaultFixed64Extension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultFloatExtension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultFloatExtension));
Assert.Equal(ForeignEnum.FOREIGN_BAZ, copy.GetExtension(Unittest.DefaultForeignEnumExtension)); Assert.AreEqual(ForeignEnum.FOREIGN_BAZ, copy.GetExtension(Unittest.DefaultForeignEnumExtension));
Assert.Equal(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.DefaultImportEnumExtension)); Assert.AreEqual(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.DefaultImportEnumExtension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultInt32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultInt32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultInt64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultInt64Extension));
Assert.Equal(TestAllTypes.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypes.Types.NestedEnum.FOO,
copy.GetExtension(Unittest.DefaultNestedEnumExtension)); copy.GetExtension(Unittest.DefaultNestedEnumExtension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultSfixed32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultSfixed32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultSfixed64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultSfixed64Extension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultSint32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultSint32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.DefaultSint64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.DefaultSint64Extension));
Assert.Equal("123", copy.GetExtension(Unittest.DefaultStringExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.DefaultStringExtension));
Assert.Equal("123", copy.GetExtension(Unittest.DefaultStringPieceExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.DefaultStringPieceExtension));
Assert.Equal(123u, copy.GetExtension(Unittest.DefaultUint32Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.DefaultUint32Extension));
Assert.Equal(123u, copy.GetExtension(Unittest.DefaultUint64Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.DefaultUint64Extension));
Assert.Equal(true, copy.GetExtension(Unittest.OptionalBoolExtension)); Assert.AreEqual(true, copy.GetExtension(Unittest.OptionalBoolExtension));
Assert.Equal(ByteString.CopyFromUtf8("123"), copy.GetExtension(Unittest.OptionalBytesExtension)); Assert.AreEqual(ByteString.CopyFromUtf8("123"), copy.GetExtension(Unittest.OptionalBytesExtension));
Assert.Equal("123", copy.GetExtension(Unittest.OptionalCordExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.OptionalCordExtension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalDoubleExtension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalDoubleExtension));
Assert.Equal(123u, copy.GetExtension(Unittest.OptionalFixed32Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.OptionalFixed32Extension));
Assert.Equal(123u, copy.GetExtension(Unittest.OptionalFixed64Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.OptionalFixed64Extension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalFloatExtension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalFloatExtension));
Assert.Equal(ForeignEnum.FOREIGN_BAZ, copy.GetExtension(Unittest.OptionalForeignEnumExtension)); Assert.AreEqual(ForeignEnum.FOREIGN_BAZ, copy.GetExtension(Unittest.OptionalForeignEnumExtension));
Assert.Equal(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.OptionalImportEnumExtension)); Assert.AreEqual(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.OptionalImportEnumExtension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalInt32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalInt32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalInt64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalInt64Extension));
Assert.Equal(TestAllTypes.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypes.Types.NestedEnum.FOO,
copy.GetExtension(Unittest.OptionalNestedEnumExtension)); copy.GetExtension(Unittest.OptionalNestedEnumExtension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalSfixed32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalSfixed32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalSfixed64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalSfixed64Extension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalSint32Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalSint32Extension));
Assert.Equal(123, copy.GetExtension(Unittest.OptionalSint64Extension)); Assert.AreEqual(123, copy.GetExtension(Unittest.OptionalSint64Extension));
Assert.Equal("123", copy.GetExtension(Unittest.OptionalStringExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.OptionalStringExtension));
Assert.Equal("123", copy.GetExtension(Unittest.OptionalStringPieceExtension)); Assert.AreEqual("123", copy.GetExtension(Unittest.OptionalStringPieceExtension));
Assert.Equal(123u, copy.GetExtension(Unittest.OptionalUint32Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.OptionalUint32Extension));
Assert.Equal(123u, copy.GetExtension(Unittest.OptionalUint64Extension)); Assert.AreEqual(123u, copy.GetExtension(Unittest.OptionalUint64Extension));
Assert.Equal(true, copy.GetExtension(Unittest.RepeatedBoolExtension, 0)); Assert.AreEqual(true, copy.GetExtension(Unittest.RepeatedBoolExtension, 0));
Assert.Equal(ByteString.CopyFromUtf8("123"), Assert.AreEqual(ByteString.CopyFromUtf8("123"),
copy.GetExtension(Unittest.RepeatedBytesExtension, 0)); copy.GetExtension(Unittest.RepeatedBytesExtension, 0));
Assert.Equal("123", copy.GetExtension(Unittest.RepeatedCordExtension, 0)); Assert.AreEqual("123", copy.GetExtension(Unittest.RepeatedCordExtension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedDoubleExtension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedDoubleExtension, 0));
Assert.Equal(123u, copy.GetExtension(Unittest.RepeatedFixed32Extension, 0)); Assert.AreEqual(123u, copy.GetExtension(Unittest.RepeatedFixed32Extension, 0));
Assert.Equal(123u, copy.GetExtension(Unittest.RepeatedFixed64Extension, 0)); Assert.AreEqual(123u, copy.GetExtension(Unittest.RepeatedFixed64Extension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedFloatExtension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedFloatExtension, 0));
Assert.Equal(ForeignEnum.FOREIGN_BAZ, Assert.AreEqual(ForeignEnum.FOREIGN_BAZ,
copy.GetExtension(Unittest.RepeatedForeignEnumExtension, 0)); copy.GetExtension(Unittest.RepeatedForeignEnumExtension, 0));
Assert.Equal(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.RepeatedImportEnumExtension, 0)); Assert.AreEqual(ImportEnum.IMPORT_BAZ, copy.GetExtension(Unittest.RepeatedImportEnumExtension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedInt32Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedInt32Extension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedInt64Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedInt64Extension, 0));
Assert.Equal(TestAllTypes.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypes.Types.NestedEnum.FOO,
copy.GetExtension(Unittest.RepeatedNestedEnumExtension, 0)); copy.GetExtension(Unittest.RepeatedNestedEnumExtension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedSfixed32Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedSfixed32Extension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedSfixed64Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedSfixed64Extension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedSint32Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedSint32Extension, 0));
Assert.Equal(123, copy.GetExtension(Unittest.RepeatedSint64Extension, 0)); Assert.AreEqual(123, copy.GetExtension(Unittest.RepeatedSint64Extension, 0));
Assert.Equal("123", copy.GetExtension(Unittest.RepeatedStringExtension, 0)); Assert.AreEqual("123", copy.GetExtension(Unittest.RepeatedStringExtension, 0));
Assert.Equal("123", copy.GetExtension(Unittest.RepeatedStringPieceExtension, 0)); Assert.AreEqual("123", copy.GetExtension(Unittest.RepeatedStringPieceExtension, 0));
Assert.Equal(123u, copy.GetExtension(Unittest.RepeatedUint32Extension, 0)); Assert.AreEqual(123u, copy.GetExtension(Unittest.RepeatedUint32Extension, 0));
Assert.Equal(123u, copy.GetExtension(Unittest.RepeatedUint64Extension, 0)); Assert.AreEqual(123u, copy.GetExtension(Unittest.RepeatedUint64Extension, 0));
} }
} }
} }

@ -34,7 +34,7 @@
using System; using System;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos.FieldPresence; using Google.ProtocolBuffers.TestProtos.FieldPresence;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -48,7 +48,7 @@ namespace Google.ProtocolBuffers
Assert.Null(proto3Type.GetProperty("Has" + name)); Assert.Null(proto3Type.GetProperty("Has" + name));
} }
[Fact] [Test]
public void TestHasMethod() public void TestHasMethod()
{ {
// Optional non-message fields don't have HasFoo method generated // Optional non-message fields don't have HasFoo method generated
@ -67,11 +67,11 @@ namespace Google.ProtocolBuffers
CheckHasMethodRemoved(proto2Type, proto3Type, "OptionalNestedEnum"); CheckHasMethodRemoved(proto2Type, proto3Type, "OptionalNestedEnum");
// message fields still have the HasFoo method generated // message fields still have the HasFoo method generated
Assert.False(TestAllTypes.CreateBuilder().Build().HasOptionalNestedMessage); Assert.IsFalse(TestAllTypes.CreateBuilder().Build().HasOptionalNestedMessage);
Assert.False(TestAllTypes.CreateBuilder().HasOptionalNestedMessage); Assert.IsFalse(TestAllTypes.CreateBuilder().HasOptionalNestedMessage);
} }
[Fact] [Test]
public void TestFieldPresence() public void TestFieldPresence()
{ {
// Optional non-message fields set to their default value are treated the same // Optional non-message fields set to their default value are treated the same
@ -84,7 +84,7 @@ namespace Google.ProtocolBuffers
builder.SetOptionalBytes(ByteString.Empty); builder.SetOptionalBytes(ByteString.Empty);
builder.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.FOO); builder.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.FOO);
TestAllTypes message = builder.Build(); TestAllTypes message = builder.Build();
Assert.Equal(0, message.SerializedSize); Assert.AreEqual(0, message.SerializedSize);
// Test merge // Test merge
TestAllTypes.Builder a = TestAllTypes.CreateBuilder(); TestAllTypes.Builder a = TestAllTypes.CreateBuilder();
@ -94,19 +94,19 @@ namespace Google.ProtocolBuffers
a.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.BAR); a.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.BAR);
a.MergeFrom(message); a.MergeFrom(message);
TestAllTypes messageA = a.Build(); TestAllTypes messageA = a.Build();
Assert.Equal(1, messageA.OptionalInt32); Assert.AreEqual(1, messageA.OptionalInt32);
Assert.Equal("x", messageA.OptionalString); Assert.AreEqual("x", messageA.OptionalString);
Assert.Equal(ByteString.CopyFromUtf8("y"), messageA.OptionalBytes); Assert.AreEqual(ByteString.CopyFromUtf8("y"), messageA.OptionalBytes);
Assert.Equal(TestAllTypes.Types.NestedEnum.BAR, messageA.OptionalNestedEnum); Assert.AreEqual(TestAllTypes.Types.NestedEnum.BAR, messageA.OptionalNestedEnum);
// equals/hashCode should produce the same results // equals/hashCode should produce the same results
TestAllTypes empty = TestAllTypes.CreateBuilder().Build(); TestAllTypes empty = TestAllTypes.CreateBuilder().Build();
Assert.True(empty.Equals(message)); Assert.IsTrue(empty.Equals(message));
Assert.True(message.Equals(empty)); Assert.IsTrue(message.Equals(empty));
Assert.Equal(empty.GetHashCode(), message.GetHashCode()); Assert.AreEqual(empty.GetHashCode(), message.GetHashCode());
} }
[Fact] [Test]
public void TestFieldPresenceReflection() public void TestFieldPresenceReflection()
{ {
MessageDescriptor descriptor = TestAllTypes.Descriptor; MessageDescriptor descriptor = TestAllTypes.Descriptor;
@ -116,10 +116,10 @@ namespace Google.ProtocolBuffers
FieldDescriptor optionalNestedEnumField = descriptor.FindFieldByName("optional_nested_enum"); FieldDescriptor optionalNestedEnumField = descriptor.FindFieldByName("optional_nested_enum");
TestAllTypes message = TestAllTypes.CreateBuilder().Build(); TestAllTypes message = TestAllTypes.CreateBuilder().Build();
Assert.False(message.HasField(optionalInt32Field)); Assert.IsFalse(message.HasField(optionalInt32Field));
Assert.False(message.HasField(optionalStringField)); Assert.IsFalse(message.HasField(optionalStringField));
Assert.False(message.HasField(optionalBytesField)); Assert.IsFalse(message.HasField(optionalBytesField));
Assert.False(message.HasField(optionalNestedEnumField)); Assert.IsFalse(message.HasField(optionalNestedEnumField));
// Set to default value is seen as not present // Set to default value is seen as not present
message = TestAllTypes.CreateBuilder() message = TestAllTypes.CreateBuilder()
@ -128,11 +128,11 @@ namespace Google.ProtocolBuffers
.SetOptionalBytes(ByteString.Empty) .SetOptionalBytes(ByteString.Empty)
.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.FOO) .SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.FOO)
.Build(); .Build();
Assert.False(message.HasField(optionalInt32Field)); Assert.IsFalse(message.HasField(optionalInt32Field));
Assert.False(message.HasField(optionalStringField)); Assert.IsFalse(message.HasField(optionalStringField));
Assert.False(message.HasField(optionalBytesField)); Assert.IsFalse(message.HasField(optionalBytesField));
Assert.False(message.HasField(optionalNestedEnumField)); Assert.IsFalse(message.HasField(optionalNestedEnumField));
Assert.Equal(0, message.AllFields.Count); Assert.AreEqual(0, message.AllFields.Count);
// Set t0 non-defalut value is seen as present // Set t0 non-defalut value is seen as present
message = TestAllTypes.CreateBuilder() message = TestAllTypes.CreateBuilder()
@ -141,28 +141,28 @@ namespace Google.ProtocolBuffers
.SetOptionalBytes(ByteString.CopyFromUtf8("y")) .SetOptionalBytes(ByteString.CopyFromUtf8("y"))
.SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.BAR) .SetOptionalNestedEnum(TestAllTypes.Types.NestedEnum.BAR)
.Build(); .Build();
Assert.True(message.HasField(optionalInt32Field)); Assert.IsTrue(message.HasField(optionalInt32Field));
Assert.True(message.HasField(optionalStringField)); Assert.IsTrue(message.HasField(optionalStringField));
Assert.True(message.HasField(optionalBytesField)); Assert.IsTrue(message.HasField(optionalBytesField));
Assert.True(message.HasField(optionalNestedEnumField)); Assert.IsTrue(message.HasField(optionalNestedEnumField));
Assert.Equal(4, message.AllFields.Count); Assert.AreEqual(4, message.AllFields.Count);
} }
[Fact] [Test]
public void TestMessageField() public void TestMessageField()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
Assert.False(builder.HasOptionalNestedMessage); Assert.IsFalse(builder.HasOptionalNestedMessage);
Assert.False(builder.Build().HasOptionalNestedMessage); Assert.IsFalse(builder.Build().HasOptionalNestedMessage);
// Unlike non-message fields, if we set default value to message field, the field // Unlike non-message fields, if we set default value to message field, the field
// shoule be seem as present. // shoule be seem as present.
builder.SetOptionalNestedMessage(TestAllTypes.Types.NestedMessage.DefaultInstance); builder.SetOptionalNestedMessage(TestAllTypes.Types.NestedMessage.DefaultInstance);
Assert.True(builder.HasOptionalNestedMessage); Assert.IsTrue(builder.HasOptionalNestedMessage);
Assert.True(builder.Build().HasOptionalNestedMessage); Assert.IsTrue(builder.Build().HasOptionalNestedMessage);
} }
[Fact] [Test]
public void TestSerializeAndParse() public void TestSerializeAndParse()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -172,12 +172,12 @@ namespace Google.ProtocolBuffers
ByteString data = builder.Build().ToByteString(); ByteString data = builder.Build().ToByteString();
TestAllTypes message = TestAllTypes.ParseFrom(data); TestAllTypes message = TestAllTypes.ParseFrom(data);
Assert.Equal(1234, message.OptionalInt32); Assert.AreEqual(1234, message.OptionalInt32);
Assert.Equal("hello", message.OptionalString); Assert.AreEqual("hello", message.OptionalString);
Assert.Equal(ByteString.Empty, message.OptionalBytes); Assert.AreEqual(ByteString.Empty, message.OptionalBytes);
Assert.Equal(TestAllTypes.Types.NestedEnum.FOO, message.OptionalNestedEnum); Assert.AreEqual(TestAllTypes.Types.NestedEnum.FOO, message.OptionalNestedEnum);
Assert.True(message.HasOptionalNestedMessage); Assert.IsTrue(message.HasOptionalNestedMessage);
Assert.Equal(0, message.OptionalNestedMessage.Value); Assert.AreEqual(0, message.OptionalNestedMessage.Value);
} }
} }
} }

@ -1,7 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -17,7 +17,7 @@ namespace Google.ProtocolBuffers
} }
public IEnumerator<T> GetEnumerator() public IEnumerator<T> GetEnumerator()
{ {
Assert.False(_enumerated); Assert.IsFalse(_enumerated);
_enumerated = true; _enumerated = true;
yield return _item; yield return _item;
} }
@ -27,49 +27,49 @@ namespace Google.ProtocolBuffers
} }
} }
[Fact] [Test]
public void DoesNotEnumerateTwiceForMessageList() public void DoesNotEnumerateTwiceForMessageList()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
b.AddRangeRepeatedForeignMessage(new OneTimeEnumerator<ForeignMessage>(ForeignMessage.DefaultInstance)); b.AddRangeRepeatedForeignMessage(new OneTimeEnumerator<ForeignMessage>(ForeignMessage.DefaultInstance));
} }
[Fact] [Test]
public void DoesNotEnumerateTwiceForPrimitiveList() public void DoesNotEnumerateTwiceForPrimitiveList()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
b.AddRangeRepeatedInt32(new OneTimeEnumerator<int>(1)); b.AddRangeRepeatedInt32(new OneTimeEnumerator<int>(1));
} }
[Fact] [Test]
public void DoesNotEnumerateTwiceForStringList() public void DoesNotEnumerateTwiceForStringList()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
b.AddRangeRepeatedString(new OneTimeEnumerator<string>("test")); b.AddRangeRepeatedString(new OneTimeEnumerator<string>("test"));
} }
[Fact] [Test]
public void DoesNotEnumerateTwiceForEnumList() public void DoesNotEnumerateTwiceForEnumList()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
b.AddRangeRepeatedForeignEnum(new OneTimeEnumerator<ForeignEnum>(ForeignEnum.FOREIGN_BAR)); b.AddRangeRepeatedForeignEnum(new OneTimeEnumerator<ForeignEnum>(ForeignEnum.FOREIGN_BAR));
} }
[Fact] [Test]
public void DoesNotAddNullToMessageListByAddRange() public void DoesNotAddNullToMessageListByAddRange()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
Assert.Throws<ArgumentNullException>(() => b.AddRangeRepeatedForeignMessage(new ForeignMessage[] { null })); Assert.Throws<ArgumentNullException>(() => b.AddRangeRepeatedForeignMessage(new ForeignMessage[] { null }));
} }
[Fact] [Test]
public void DoesNotAddNullToMessageListByAdd() public void DoesNotAddNullToMessageListByAdd()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
Assert.Throws<ArgumentNullException>(() => b.AddRepeatedForeignMessage((ForeignMessage)null)); Assert.Throws<ArgumentNullException>(() => b.AddRepeatedForeignMessage((ForeignMessage)null));
} }
[Fact] [Test]
public void DoesNotAddNullToMessageListBySet() public void DoesNotAddNullToMessageListBySet()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
@ -77,21 +77,21 @@ namespace Google.ProtocolBuffers
Assert.Throws<ArgumentNullException>(() => b.SetRepeatedForeignMessage(0, (ForeignMessage)null)); Assert.Throws<ArgumentNullException>(() => b.SetRepeatedForeignMessage(0, (ForeignMessage)null));
} }
[Fact] [Test]
public void DoesNotAddNullToStringListByAddRange() public void DoesNotAddNullToStringListByAddRange()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
Assert.Throws<ArgumentNullException>(() => b.AddRangeRepeatedString(new String[] { null })); Assert.Throws<ArgumentNullException>(() => b.AddRangeRepeatedString(new String[] { null }));
} }
[Fact] [Test]
public void DoesNotAddNullToStringListByAdd() public void DoesNotAddNullToStringListByAdd()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();
Assert.Throws<ArgumentNullException>(() => b.AddRepeatedString(null)); Assert.Throws<ArgumentNullException>(() => b.AddRepeatedString(null));
} }
[Fact] [Test]
public void DoesNotAddNullToStringListBySet() public void DoesNotAddNullToStringListBySet()
{ {
TestAllTypes.Builder b = new TestAllTypes.Builder(); TestAllTypes.Builder b = new TestAllTypes.Builder();

@ -38,7 +38,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.Collections; using Google.ProtocolBuffers.Collections;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -53,14 +53,14 @@ namespace Google.ProtocolBuffers
extensionsReflectionTester = ReflectionTester.CreateTestAllExtensionsInstance(); extensionsReflectionTester = ReflectionTester.CreateTestAllExtensionsInstance();
} }
[Fact] [Test]
public void RepeatedAddPrimitiveBeforeBuild() public void RepeatedAddPrimitiveBeforeBuild()
{ {
TestAllTypes message = new TestAllTypes.Builder {RepeatedInt32List = {1, 2, 3}}.Build(); TestAllTypes message = new TestAllTypes.Builder {RepeatedInt32List = {1, 2, 3}}.Build();
TestUtil.AssertEqual(new int[] {1, 2, 3}, message.RepeatedInt32List); TestUtil.AssertEqual(new int[] {1, 2, 3}, message.RepeatedInt32List);
} }
[Fact] [Test]
public void AddPrimitiveFailsAfterBuild() public void AddPrimitiveFailsAfterBuild()
{ {
TestAllTypes.Builder builder = new TestAllTypes.Builder(); TestAllTypes.Builder builder = new TestAllTypes.Builder();
@ -71,7 +71,7 @@ namespace Google.ProtocolBuffers
Assert.Throws<NotSupportedException>(() => list.Add(2)); Assert.Throws<NotSupportedException>(() => list.Add(2));
} }
[Fact] [Test]
public void RepeatedAddMessageBeforeBuild() public void RepeatedAddMessageBeforeBuild()
{ {
TestAllTypes message = new TestAllTypes.Builder TestAllTypes message = new TestAllTypes.Builder
@ -79,11 +79,11 @@ namespace Google.ProtocolBuffers
RepeatedNestedMessageList = RepeatedNestedMessageList =
{new TestAllTypes.Types.NestedMessage.Builder {Bb = 10}.Build()} {new TestAllTypes.Types.NestedMessage.Builder {Bb = 10}.Build()}
}.Build(); }.Build();
Assert.Equal(1, message.RepeatedNestedMessageCount); Assert.AreEqual(1, message.RepeatedNestedMessageCount);
Assert.Equal(10, message.RepeatedNestedMessageList[0].Bb); Assert.AreEqual(10, message.RepeatedNestedMessageList[0].Bb);
} }
[Fact] [Test]
public void AddMessageFailsAfterBuild() public void AddMessageFailsAfterBuild()
{ {
TestAllTypes.Builder builder = new TestAllTypes.Builder(); TestAllTypes.Builder builder = new TestAllTypes.Builder();
@ -93,14 +93,14 @@ namespace Google.ProtocolBuffers
Assert.Throws<NotSupportedException>(() => list.Add(new TestAllTypes.Types.NestedMessage.Builder { Bb = 10 }.Build())); Assert.Throws<NotSupportedException>(() => list.Add(new TestAllTypes.Types.NestedMessage.Builder { Bb = 10 }.Build()));
} }
[Fact] [Test]
public void DefaultInstance() public void DefaultInstance()
{ {
Assert.Same(TestAllTypes.DefaultInstance, TestAllTypes.DefaultInstance.DefaultInstanceForType); Assert.AreSame(TestAllTypes.DefaultInstance, TestAllTypes.DefaultInstance.DefaultInstanceForType);
Assert.Same(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().DefaultInstanceForType); Assert.AreSame(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().DefaultInstanceForType);
} }
[Fact] [Test]
public void Accessors() public void Accessors()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -109,7 +109,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(message); TestUtil.AssertAllFieldsSet(message);
} }
[Fact] [Test]
public void SettersRejectNull() public void SettersRejectNull()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -127,7 +127,7 @@ namespace Google.ProtocolBuffers
() => builder.AddRepeatedNestedMessage((TestAllTypes.Types.NestedMessage.Builder) null)); () => builder.AddRepeatedNestedMessage((TestAllTypes.Types.NestedMessage.Builder) null));
} }
[Fact] [Test]
public void RepeatedSetters() public void RepeatedSetters()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -137,7 +137,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertRepeatedFieldsModified(message); TestUtil.AssertRepeatedFieldsModified(message);
} }
[Fact] [Test]
public void RepeatedAppend() public void RepeatedAppend()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -151,11 +151,11 @@ namespace Google.ProtocolBuffers
TestAllTypes message = builder.Build(); TestAllTypes message = builder.Build();
TestUtil.AssertEqual(message.RepeatedInt32List, new int[] {1, 2, 3, 4}); TestUtil.AssertEqual(message.RepeatedInt32List, new int[] {1, 2, 3, 4});
TestUtil.AssertEqual(message.RepeatedForeignEnumList, new ForeignEnum[] {ForeignEnum.FOREIGN_BAZ}); TestUtil.AssertEqual(message.RepeatedForeignEnumList, new ForeignEnum[] {ForeignEnum.FOREIGN_BAZ});
Assert.Equal(1, message.RepeatedForeignMessageCount); Assert.AreEqual(1, message.RepeatedForeignMessageCount);
Assert.Equal(12, message.GetRepeatedForeignMessage(0).C); Assert.AreEqual(12, message.GetRepeatedForeignMessage(0).C);
} }
[Fact] [Test]
public void RepeatedAppendRejectsNull() public void RepeatedAppendRejectsNull()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -170,7 +170,7 @@ namespace Google.ProtocolBuffers
() => builder.AddRangeRepeatedBytes(new[] {TestUtil.ToBytes("one"), null})); () => builder.AddRangeRepeatedBytes(new[] {TestUtil.ToBytes("one"), null}));
} }
[Fact] [Test]
public void SettingForeignMessageUsingBuilder() public void SettingForeignMessageUsingBuilder()
{ {
TestAllTypes message = TestAllTypes.CreateBuilder() TestAllTypes message = TestAllTypes.CreateBuilder()
@ -181,10 +181,10 @@ namespace Google.ProtocolBuffers
// Create expected version passing foreign message instance explicitly. // Create expected version passing foreign message instance explicitly.
.SetOptionalForeignMessage(ForeignMessage.CreateBuilder().SetC(123).Build()) .SetOptionalForeignMessage(ForeignMessage.CreateBuilder().SetC(123).Build())
.Build(); .Build();
Assert.Equal(expectedMessage, message); Assert.AreEqual(expectedMessage, message);
} }
[Fact] [Test]
public void SettingRepeatedForeignMessageUsingBuilder() public void SettingRepeatedForeignMessageUsingBuilder()
{ {
TestAllTypes message = TestAllTypes.CreateBuilder() TestAllTypes message = TestAllTypes.CreateBuilder()
@ -195,10 +195,10 @@ namespace Google.ProtocolBuffers
// Create expected version passing foreign message instance explicitly. // Create expected version passing foreign message instance explicitly.
.AddRepeatedForeignMessage(ForeignMessage.CreateBuilder().SetC(456).Build()) .AddRepeatedForeignMessage(ForeignMessage.CreateBuilder().SetC(456).Build())
.Build(); .Build();
Assert.Equal(expectedMessage, message); Assert.AreEqual(expectedMessage, message);
} }
[Fact] [Test]
public void SettingRepeatedValuesUsingRangeInCollectionInitializer() public void SettingRepeatedValuesUsingRangeInCollectionInitializer()
{ {
int[] values = {1, 2, 3}; int[] values = {1, 2, 3};
@ -206,29 +206,29 @@ namespace Google.ProtocolBuffers
{ {
RepeatedSint32List = {values} RepeatedSint32List = {values}
}.Build(); }.Build();
Assert.True(Lists.Equals(values, message.RepeatedSint32List)); Assert.IsTrue(Lists.Equals(values, message.RepeatedSint32List));
} }
[Fact] [Test]
public void SettingRepeatedValuesUsingIndividualValuesInCollectionInitializer() public void SettingRepeatedValuesUsingIndividualValuesInCollectionInitializer()
{ {
TestAllTypes message = new TestAllTypes.Builder TestAllTypes message = new TestAllTypes.Builder
{ {
RepeatedSint32List = {6, 7} RepeatedSint32List = {6, 7}
}.Build(); }.Build();
Assert.True(Lists.Equals(new int[] {6, 7}, message.RepeatedSint32List)); Assert.IsTrue(Lists.Equals(new int[] {6, 7}, message.RepeatedSint32List));
} }
[Fact] [Test]
public void Defaults() public void Defaults()
{ {
TestUtil.AssertClear(TestAllTypes.DefaultInstance); TestUtil.AssertClear(TestAllTypes.DefaultInstance);
TestUtil.AssertClear(TestAllTypes.CreateBuilder().Build()); TestUtil.AssertClear(TestAllTypes.CreateBuilder().Build());
Assert.Equal("\u1234", TestExtremeDefaultValues.DefaultInstance.Utf8String); Assert.AreEqual("\u1234", TestExtremeDefaultValues.DefaultInstance.Utf8String);
} }
[Fact] [Test]
public void ReflectionGetters() public void ReflectionGetters()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -237,7 +237,7 @@ namespace Google.ProtocolBuffers
reflectionTester.AssertAllFieldsSetViaReflection(message); reflectionTester.AssertAllFieldsSetViaReflection(message);
} }
[Fact] [Test]
public void ReflectionSetters() public void ReflectionSetters()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -246,7 +246,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(message); TestUtil.AssertAllFieldsSet(message);
} }
[Fact] [Test]
public void ReflectionClear() public void ReflectionClear()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -256,14 +256,14 @@ namespace Google.ProtocolBuffers
TestUtil.AssertClear(message); TestUtil.AssertClear(message);
} }
[Fact] [Test]
public void ReflectionSettersRejectNull() public void ReflectionSettersRejectNull()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
reflectionTester.AssertReflectionSettersRejectNull(builder); reflectionTester.AssertReflectionSettersRejectNull(builder);
} }
[Fact] [Test]
public void ReflectionRepeatedSetters() public void ReflectionRepeatedSetters()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -273,14 +273,14 @@ namespace Google.ProtocolBuffers
TestUtil.AssertRepeatedFieldsModified(message); TestUtil.AssertRepeatedFieldsModified(message);
} }
[Fact] [Test]
public void TestReflectionRepeatedSettersRejectNull() public void TestReflectionRepeatedSettersRejectNull()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
reflectionTester.AssertReflectionRepeatedSettersRejectNull(builder); reflectionTester.AssertReflectionRepeatedSettersRejectNull(builder);
} }
[Fact] [Test]
public void ReflectionDefaults() public void ReflectionDefaults()
{ {
TestUtil.TestInMultipleCultures(() => TestUtil.TestInMultipleCultures(() =>
@ -295,7 +295,7 @@ namespace Google.ProtocolBuffers
// ================================================================= // =================================================================
// Extensions. // Extensions.
[Fact] [Test]
public void ExtensionAccessors() public void ExtensionAccessors()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -304,7 +304,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllExtensionsSet(message); TestUtil.AssertAllExtensionsSet(message);
} }
[Fact] [Test]
public void ExtensionRepeatedSetters() public void ExtensionRepeatedSetters()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -314,14 +314,14 @@ namespace Google.ProtocolBuffers
TestUtil.AssertRepeatedExtensionsModified(message); TestUtil.AssertRepeatedExtensionsModified(message);
} }
[Fact] [Test]
public void ExtensionDefaults() public void ExtensionDefaults()
{ {
TestUtil.AssertExtensionsClear(TestAllExtensions.DefaultInstance); TestUtil.AssertExtensionsClear(TestAllExtensions.DefaultInstance);
TestUtil.AssertExtensionsClear(TestAllExtensions.CreateBuilder().Build()); TestUtil.AssertExtensionsClear(TestAllExtensions.CreateBuilder().Build());
} }
[Fact] [Test]
public void ExtensionReflectionGetters() public void ExtensionReflectionGetters()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -330,7 +330,7 @@ namespace Google.ProtocolBuffers
extensionsReflectionTester.AssertAllFieldsSetViaReflection(message); extensionsReflectionTester.AssertAllFieldsSetViaReflection(message);
} }
[Fact] [Test]
public void ExtensionReflectionSetters() public void ExtensionReflectionSetters()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -339,14 +339,14 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllExtensionsSet(message); TestUtil.AssertAllExtensionsSet(message);
} }
[Fact] [Test]
public void ExtensionReflectionSettersRejectNull() public void ExtensionReflectionSettersRejectNull()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
extensionsReflectionTester.AssertReflectionSettersRejectNull(builder); extensionsReflectionTester.AssertReflectionSettersRejectNull(builder);
} }
[Fact] [Test]
public void ExtensionReflectionRepeatedSetters() public void ExtensionReflectionRepeatedSetters()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -356,14 +356,14 @@ namespace Google.ProtocolBuffers
TestUtil.AssertRepeatedExtensionsModified(message); TestUtil.AssertRepeatedExtensionsModified(message);
} }
[Fact] [Test]
public void ExtensionReflectionRepeatedSettersRejectNull() public void ExtensionReflectionRepeatedSettersRejectNull()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
extensionsReflectionTester.AssertReflectionRepeatedSettersRejectNull(builder); extensionsReflectionTester.AssertReflectionRepeatedSettersRejectNull(builder);
} }
[Fact] [Test]
public void ExtensionReflectionDefaults() public void ExtensionReflectionDefaults()
{ {
TestUtil.TestInMultipleCultures(() => TestUtil.TestInMultipleCultures(() =>
@ -375,33 +375,33 @@ namespace Google.ProtocolBuffers
}); });
} }
[Fact] [Test]
public void ClearExtension() public void ClearExtension()
{ {
// ClearExtension() is not actually used in TestUtil, so try it manually. // ClearExtension() is not actually used in TestUtil, so try it manually.
Assert.False(TestAllExtensions.CreateBuilder() Assert.IsFalse(TestAllExtensions.CreateBuilder()
.SetExtension(Unittest.OptionalInt32Extension, 1) .SetExtension(Unittest.OptionalInt32Extension, 1)
.ClearExtension(Unittest.OptionalInt32Extension) .ClearExtension(Unittest.OptionalInt32Extension)
.HasExtension(Unittest.OptionalInt32Extension)); .HasExtension(Unittest.OptionalInt32Extension));
Assert.Equal(0, TestAllExtensions.CreateBuilder() Assert.AreEqual(0, TestAllExtensions.CreateBuilder()
.AddExtension(Unittest.RepeatedInt32Extension, 1) .AddExtension(Unittest.RepeatedInt32Extension, 1)
.ClearExtension(Unittest.RepeatedInt32Extension) .ClearExtension(Unittest.RepeatedInt32Extension)
.GetExtensionCount(Unittest.RepeatedInt32Extension)); .GetExtensionCount(Unittest.RepeatedInt32Extension));
} }
[Fact] [Test]
public void ExtensionMergeFrom() public void ExtensionMergeFrom()
{ {
TestAllExtensions original = TestAllExtensions.CreateBuilder() TestAllExtensions original = TestAllExtensions.CreateBuilder()
.SetExtension(Unittest.OptionalInt32Extension, 1).Build(); .SetExtension(Unittest.OptionalInt32Extension, 1).Build();
TestAllExtensions merged = TestAllExtensions merged =
TestAllExtensions.CreateBuilder().MergeFrom(original).Build(); TestAllExtensions.CreateBuilder().MergeFrom(original).Build();
Assert.True((merged.HasExtension(Unittest.OptionalInt32Extension))); Assert.IsTrue((merged.HasExtension(Unittest.OptionalInt32Extension)));
Assert.Equal(1, (int) merged.GetExtension(Unittest.OptionalInt32Extension)); Assert.AreEqual(1, (int) merged.GetExtension(Unittest.OptionalInt32Extension));
} }
/* Removed multiple files option for the moment /* Removed multiple files option for the moment
[Fact] [Test]
public void MultipleFilesOption() { public void MultipleFilesOption() {
// We mostly just want to check that things compile. // We mostly just want to check that things compile.
MessageWithNoOuter message = MessageWithNoOuter.CreateBuilder() MessageWithNoOuter message = MessageWithNoOuter.CreateBuilder()
@ -410,63 +410,63 @@ namespace Google.ProtocolBuffers
.SetNestedEnum(MessageWithNoOuter.Types.NestedEnum.BAZ) .SetNestedEnum(MessageWithNoOuter.Types.NestedEnum.BAZ)
.SetForeignEnum(EnumWithNoOuter.BAR) .SetForeignEnum(EnumWithNoOuter.BAR)
.Build(); .Build();
Assert.Equal(message, MessageWithNoOuter.ParseFrom(message.ToByteString())); Assert.AreEqual(message, MessageWithNoOuter.ParseFrom(message.ToByteString()));
Assert.Equal(MultiFileProto.DescriptorProtoFile, MessageWithNoOuter.DescriptorProtoFile.File); Assert.AreEqual(MultiFileProto.DescriptorProtoFile, MessageWithNoOuter.DescriptorProtoFile.File);
FieldDescriptor field = MessageWithNoOuter.DescriptorProtoFile.FindDescriptor<FieldDescriptor>("foreign_enum"); FieldDescriptor field = MessageWithNoOuter.DescriptorProtoFile.FindDescriptor<FieldDescriptor>("foreign_enum");
Assert.Equal(MultiFileProto.DescriptorProtoFile.FindTypeByName<EnumDescriptor>("EnumWithNoOuter") Assert.AreEqual(MultiFileProto.DescriptorProtoFile.FindTypeByName<EnumDescriptor>("EnumWithNoOuter")
.FindValueByNumber((int)EnumWithNoOuter.BAR), message[field]); .FindValueByNumber((int)EnumWithNoOuter.BAR), message[field]);
Assert.Equal(MultiFileProto.DescriptorProtoFile, ServiceWithNoOuter.DescriptorProtoFile.File); Assert.AreEqual(MultiFileProto.DescriptorProtoFile, ServiceWithNoOuter.DescriptorProtoFile.File);
Assert.False(TestAllExtensions.DefaultInstance.HasExtension(MultiFileProto.ExtensionWithOuter)); Assert.IsFalse(TestAllExtensions.DefaultInstance.HasExtension(MultiFileProto.ExtensionWithOuter));
}*/ }*/
[Fact] [Test]
public void OptionalFieldWithRequiredSubfieldsOptimizedForSize() public void OptionalFieldWithRequiredSubfieldsOptimizedForSize()
{ {
TestOptionalOptimizedForSize message = TestOptionalOptimizedForSize.DefaultInstance; TestOptionalOptimizedForSize message = TestOptionalOptimizedForSize.DefaultInstance;
Assert.True(message.IsInitialized); Assert.IsTrue(message.IsInitialized);
message = TestOptionalOptimizedForSize.CreateBuilder().SetO( message = TestOptionalOptimizedForSize.CreateBuilder().SetO(
TestRequiredOptimizedForSize.CreateBuilder().BuildPartial() TestRequiredOptimizedForSize.CreateBuilder().BuildPartial()
).BuildPartial(); ).BuildPartial();
Assert.False(message.IsInitialized); Assert.IsFalse(message.IsInitialized);
message = TestOptionalOptimizedForSize.CreateBuilder().SetO( message = TestOptionalOptimizedForSize.CreateBuilder().SetO(
TestRequiredOptimizedForSize.CreateBuilder().SetX(5).BuildPartial() TestRequiredOptimizedForSize.CreateBuilder().SetX(5).BuildPartial()
).BuildPartial(); ).BuildPartial();
Assert.True(message.IsInitialized); Assert.IsTrue(message.IsInitialized);
} }
[Fact] [Test]
public void OptimizedForSizeMergeUsesAllFieldsFromTarget() public void OptimizedForSizeMergeUsesAllFieldsFromTarget()
{ {
TestOptimizedForSize withFieldSet = new TestOptimizedForSize.Builder {I = 10}.Build(); TestOptimizedForSize withFieldSet = new TestOptimizedForSize.Builder {I = 10}.Build();
TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder(); TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder();
builder.MergeFrom(withFieldSet); builder.MergeFrom(withFieldSet);
TestOptimizedForSize built = builder.Build(); TestOptimizedForSize built = builder.Build();
Assert.Equal(10, built.I); Assert.AreEqual(10, built.I);
} }
[Fact] [Test]
public void UninitializedExtensionInOptimizedForSizeMakesMessageUninitialized() public void UninitializedExtensionInOptimizedForSizeMakesMessageUninitialized()
{ {
TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder(); TestOptimizedForSize.Builder builder = new TestOptimizedForSize.Builder();
builder.SetExtension(TestOptimizedForSize.TestExtension2, builder.SetExtension(TestOptimizedForSize.TestExtension2,
new TestRequiredOptimizedForSize.Builder().BuildPartial()); new TestRequiredOptimizedForSize.Builder().BuildPartial());
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
Assert.False(builder.BuildPartial().IsInitialized); Assert.IsFalse(builder.BuildPartial().IsInitialized);
builder = new TestOptimizedForSize.Builder(); builder = new TestOptimizedForSize.Builder();
builder.SetExtension(TestOptimizedForSize.TestExtension2, builder.SetExtension(TestOptimizedForSize.TestExtension2,
new TestRequiredOptimizedForSize.Builder {X = 10}.BuildPartial()); new TestRequiredOptimizedForSize.Builder {X = 10}.BuildPartial());
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
Assert.True(builder.BuildPartial().IsInitialized); Assert.IsTrue(builder.BuildPartial().IsInitialized);
} }
[Fact] [Test]
public void ToBuilder() public void ToBuilder()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -475,40 +475,40 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(message.ToBuilder().Build()); TestUtil.AssertAllFieldsSet(message.ToBuilder().Build());
} }
[Fact] [Test]
public void FieldConstantValues() public void FieldConstantValues()
{ {
Assert.Equal(TestAllTypes.Types.NestedMessage.BbFieldNumber, 1); Assert.AreEqual(TestAllTypes.Types.NestedMessage.BbFieldNumber, 1);
Assert.Equal(TestAllTypes.OptionalInt32FieldNumber, 1); Assert.AreEqual(TestAllTypes.OptionalInt32FieldNumber, 1);
Assert.Equal(TestAllTypes.OptionalGroupFieldNumber, 16); Assert.AreEqual(TestAllTypes.OptionalGroupFieldNumber, 16);
Assert.Equal(TestAllTypes.OptionalNestedMessageFieldNumber, 18); Assert.AreEqual(TestAllTypes.OptionalNestedMessageFieldNumber, 18);
Assert.Equal(TestAllTypes.OptionalNestedEnumFieldNumber, 21); Assert.AreEqual(TestAllTypes.OptionalNestedEnumFieldNumber, 21);
Assert.Equal(TestAllTypes.RepeatedInt32FieldNumber, 31); Assert.AreEqual(TestAllTypes.RepeatedInt32FieldNumber, 31);
Assert.Equal(TestAllTypes.RepeatedGroupFieldNumber, 46); Assert.AreEqual(TestAllTypes.RepeatedGroupFieldNumber, 46);
Assert.Equal(TestAllTypes.RepeatedNestedMessageFieldNumber, 48); Assert.AreEqual(TestAllTypes.RepeatedNestedMessageFieldNumber, 48);
Assert.Equal(TestAllTypes.RepeatedNestedEnumFieldNumber, 51); Assert.AreEqual(TestAllTypes.RepeatedNestedEnumFieldNumber, 51);
} }
[Fact] [Test]
public void ExtensionConstantValues() public void ExtensionConstantValues()
{ {
Assert.Equal(TestRequired.SingleFieldNumber, 1000); Assert.AreEqual(TestRequired.SingleFieldNumber, 1000);
Assert.Equal(TestRequired.MultiFieldNumber, 1001); Assert.AreEqual(TestRequired.MultiFieldNumber, 1001);
Assert.Equal(Unittest.OptionalInt32ExtensionFieldNumber, 1); Assert.AreEqual(Unittest.OptionalInt32ExtensionFieldNumber, 1);
Assert.Equal(Unittest.OptionalGroupExtensionFieldNumber, 16); Assert.AreEqual(Unittest.OptionalGroupExtensionFieldNumber, 16);
Assert.Equal(Unittest.OptionalNestedMessageExtensionFieldNumber, 18); Assert.AreEqual(Unittest.OptionalNestedMessageExtensionFieldNumber, 18);
Assert.Equal(Unittest.OptionalNestedEnumExtensionFieldNumber, 21); Assert.AreEqual(Unittest.OptionalNestedEnumExtensionFieldNumber, 21);
Assert.Equal(Unittest.RepeatedInt32ExtensionFieldNumber, 31); Assert.AreEqual(Unittest.RepeatedInt32ExtensionFieldNumber, 31);
Assert.Equal(Unittest.RepeatedGroupExtensionFieldNumber, 46); Assert.AreEqual(Unittest.RepeatedGroupExtensionFieldNumber, 46);
Assert.Equal(Unittest.RepeatedNestedMessageExtensionFieldNumber, 48); Assert.AreEqual(Unittest.RepeatedNestedMessageExtensionFieldNumber, 48);
Assert.Equal(Unittest.RepeatedNestedEnumExtensionFieldNumber, 51); Assert.AreEqual(Unittest.RepeatedNestedEnumExtensionFieldNumber, 51);
} }
[Fact] [Test]
public void EmptyPackedValue() public void EmptyPackedValue()
{ {
TestPackedTypes empty = new TestPackedTypes.Builder().Build(); TestPackedTypes empty = new TestPackedTypes.Builder().Build();
Assert.Equal(0, empty.SerializedSize); Assert.AreEqual(0, empty.SerializedSize);
} }
} }
} }

@ -37,7 +37,7 @@
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using UnitTest.Issues.TestProtos; using UnitTest.Issues.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
@ -48,13 +48,13 @@ namespace Google.ProtocolBuffers
public class IssuesTest public class IssuesTest
{ {
// Issue 45 // Issue 45
[Fact] [Test]
public void FieldCalledItem() public void FieldCalledItem()
{ {
ItemField message = new ItemField.Builder { Item = 3 }.Build(); ItemField message = new ItemField.Builder { Item = 3 }.Build();
FieldDescriptor field = ItemField.Descriptor.FindFieldByName("item"); FieldDescriptor field = ItemField.Descriptor.FindFieldByName("item");
Assert.NotNull(field); Assert.NotNull(field);
Assert.Equal(3, (int)message[field]); Assert.AreEqual(3, (int)message[field]);
} }
} }
} }

@ -37,27 +37,27 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
using NestedMessage = Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage; using NestedMessage = Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class MessageStreamIteratorTest public class MessageStreamIteratorTest
{ {
[Fact] [Test]
public void ThreeMessagesInMemory() public void ThreeMessagesInMemory()
{ {
MemoryStream stream = new MemoryStream(MessageStreamWriterTest.ThreeMessageData); MemoryStream stream = new MemoryStream(MessageStreamWriterTest.ThreeMessageData);
IEnumerable<NestedMessage> iterator = MessageStreamIterator<NestedMessage>.FromStreamProvider(() => stream); IEnumerable<NestedMessage> iterator = MessageStreamIterator<NestedMessage>.FromStreamProvider(() => stream);
List<NestedMessage> messages = new List<NestedMessage>(iterator); List<NestedMessage> messages = new List<NestedMessage>(iterator);
Assert.Equal(3, messages.Count); Assert.AreEqual(3, messages.Count);
Assert.Equal(5, messages[0].Bb); Assert.AreEqual(5, messages[0].Bb);
Assert.Equal(1500, messages[1].Bb); Assert.AreEqual(1500, messages[1].Bb);
Assert.False(messages[2].HasBb); Assert.IsFalse(messages[2].HasBb);
} }
[Fact] [Test]
public void ManyMessagesShouldNotTriggerSizeAlert() public void ManyMessagesShouldNotTriggerSizeAlert()
{ {
int messageSize = TestUtil.GetAllSet().SerializedSize; int messageSize = TestUtil.GetAllSet().SerializedSize;
@ -83,7 +83,7 @@ namespace Google.ProtocolBuffers
count++; count++;
TestUtil.AssertAllFieldsSet(message); TestUtil.AssertAllFieldsSet(message);
} }
Assert.Equal(correctCount, count); Assert.AreEqual(correctCount, count);
} }
} }
} }

@ -35,7 +35,7 @@
#endregion #endregion
using System.IO; using System.IO;
using Xunit; using NUnit.Framework;
using NestedMessage = Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage; using NestedMessage = Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
@ -54,7 +54,7 @@ namespace Google.ProtocolBuffers
(1 << 3) | 2, 0, // Field 1, no data (third message) (1 << 3) | 2, 0, // Field 1, no data (third message)
}; };
[Fact] [Test]
public void ThreeMessages() public void ThreeMessages()
{ {
NestedMessage message1 = new NestedMessage.Builder {Bb = 5}.Build(); NestedMessage message1 = new NestedMessage.Builder {Bb = 5}.Build();

@ -37,7 +37,7 @@
using System.IO; using System.IO;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -76,12 +76,12 @@ namespace Google.ProtocolBuffers
"repeated_string: \"qux\"\n" + "repeated_string: \"qux\"\n" +
"repeated_string: \"bar\"\n"; "repeated_string: \"bar\"\n";
[Fact] [Test]
public void MergeFrom() public void MergeFrom()
{ {
TestAllTypes result = TestAllTypes.CreateBuilder(MergeDest).MergeFrom(MergeSource).Build(); TestAllTypes result = TestAllTypes.CreateBuilder(MergeDest).MergeFrom(MergeSource).Build();
Assert.Equal(MergeResultText, result.ToString()); Assert.AreEqual(MergeResultText, result.ToString());
} }
/// <summary> /// <summary>
@ -89,20 +89,20 @@ namespace Google.ProtocolBuffers
/// As long as they have the same descriptor, this should work, but it is an /// As long as they have the same descriptor, this should work, but it is an
/// entirely different code path. /// entirely different code path.
/// </summary> /// </summary>
[Fact] [Test]
public void MergeFromDynamic() public void MergeFromDynamic()
{ {
TestAllTypes result = (TestAllTypes) TestAllTypes.CreateBuilder(MergeDest) TestAllTypes result = (TestAllTypes) TestAllTypes.CreateBuilder(MergeDest)
.MergeFrom(DynamicMessage.CreateBuilder(MergeSource).Build()) .MergeFrom(DynamicMessage.CreateBuilder(MergeSource).Build())
.Build(); .Build();
Assert.Equal(MergeResultText, result.ToString()); Assert.AreEqual(MergeResultText, result.ToString());
} }
/// <summary> /// <summary>
/// Test merging two DynamicMessages. /// Test merging two DynamicMessages.
/// </summary> /// </summary>
[Fact] [Test]
public void DynamicMergeFrom() public void DynamicMergeFrom()
{ {
DynamicMessage result = (DynamicMessage) DynamicMessage.CreateBuilder(MergeDest) DynamicMessage result = (DynamicMessage) DynamicMessage.CreateBuilder(MergeDest)
@ -111,7 +111,7 @@ namespace Google.ProtocolBuffers
DynamicMessage.CreateBuilder(MergeSource).Build()) DynamicMessage.CreateBuilder(MergeSource).Build())
.Build(); .Build();
Assert.Equal(MergeResultText, result.ToString()); Assert.AreEqual(MergeResultText, result.ToString());
} }
// ================================================================= // =================================================================
@ -126,121 +126,121 @@ namespace Google.ProtocolBuffers
C = 3 C = 3
}.Build(); }.Build();
[Fact] [Test]
public void Initialization() public void Initialization()
{ {
TestRequired.Builder builder = TestRequired.CreateBuilder(); TestRequired.Builder builder = TestRequired.CreateBuilder();
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.A = 1; builder.A = 1;
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.B = 1; builder.B = 1;
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.C = 1; builder.C = 1;
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
} }
[Fact] [Test]
public void UninitializedBuilderToString() public void UninitializedBuilderToString()
{ {
TestRequired.Builder builder = TestRequired.CreateBuilder().SetA(1); TestRequired.Builder builder = TestRequired.CreateBuilder().SetA(1);
Assert.Equal("a: 1\n", builder.ToString()); Assert.AreEqual("a: 1\n", builder.ToString());
} }
[Fact] [Test]
public void RequiredForeign() public void RequiredForeign()
{ {
TestRequiredForeign.Builder builder = TestRequiredForeign.CreateBuilder(); TestRequiredForeign.Builder builder = TestRequiredForeign.CreateBuilder();
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.SetOptionalMessage(TestRequiredUninitialized); builder.SetOptionalMessage(TestRequiredUninitialized);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.SetOptionalMessage(TestRequiredInitialized); builder.SetOptionalMessage(TestRequiredInitialized);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.AddRepeatedMessage(TestRequiredUninitialized); builder.AddRepeatedMessage(TestRequiredUninitialized);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.SetRepeatedMessage(0, TestRequiredInitialized); builder.SetRepeatedMessage(0, TestRequiredInitialized);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
} }
[Fact] [Test]
public void RequiredExtension() public void RequiredExtension()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.SetExtension(TestRequired.Single, TestRequiredUninitialized); builder.SetExtension(TestRequired.Single, TestRequiredUninitialized);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.SetExtension(TestRequired.Single, TestRequiredInitialized); builder.SetExtension(TestRequired.Single, TestRequiredInitialized);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.AddExtension(TestRequired.Multi, TestRequiredUninitialized); builder.AddExtension(TestRequired.Multi, TestRequiredUninitialized);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.SetExtension(TestRequired.Multi, 0, TestRequiredInitialized); builder.SetExtension(TestRequired.Multi, 0, TestRequiredInitialized);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
} }
[Fact] [Test]
public void RequiredDynamic() public void RequiredDynamic()
{ {
MessageDescriptor descriptor = TestRequired.Descriptor; MessageDescriptor descriptor = TestRequired.Descriptor;
DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(descriptor); DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(descriptor);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder[descriptor.FindDescriptor<FieldDescriptor>("a")] = 1; builder[descriptor.FindDescriptor<FieldDescriptor>("a")] = 1;
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder[descriptor.FindDescriptor<FieldDescriptor>("b")] = 1; builder[descriptor.FindDescriptor<FieldDescriptor>("b")] = 1;
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder[descriptor.FindDescriptor<FieldDescriptor>("c")] = 1; builder[descriptor.FindDescriptor<FieldDescriptor>("c")] = 1;
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
} }
[Fact] [Test]
public void RequiredDynamicForeign() public void RequiredDynamicForeign()
{ {
MessageDescriptor descriptor = TestRequiredForeign.Descriptor; MessageDescriptor descriptor = TestRequiredForeign.Descriptor;
DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(descriptor); DynamicMessage.Builder builder = DynamicMessage.CreateBuilder(descriptor);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder[descriptor.FindDescriptor<FieldDescriptor>("optional_message")] = TestRequiredUninitialized; builder[descriptor.FindDescriptor<FieldDescriptor>("optional_message")] = TestRequiredUninitialized;
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder[descriptor.FindDescriptor<FieldDescriptor>("optional_message")] = TestRequiredInitialized; builder[descriptor.FindDescriptor<FieldDescriptor>("optional_message")] = TestRequiredInitialized;
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.AddRepeatedField(descriptor.FindDescriptor<FieldDescriptor>("repeated_message"), builder.AddRepeatedField(descriptor.FindDescriptor<FieldDescriptor>("repeated_message"),
TestRequiredUninitialized); TestRequiredUninitialized);
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
builder.SetRepeatedField(descriptor.FindDescriptor<FieldDescriptor>("repeated_message"), 0, builder.SetRepeatedField(descriptor.FindDescriptor<FieldDescriptor>("repeated_message"), 0,
TestRequiredInitialized); TestRequiredInitialized);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
} }
[Fact] [Test]
public void UninitializedException() public void UninitializedException()
{ {
var e = Assert.Throws<UninitializedMessageException>(() => TestRequired.CreateBuilder().Build()); var e = Assert.Throws<UninitializedMessageException>(() => TestRequired.CreateBuilder().Build());
Assert.Equal("Message missing required fields: a, b, c", e.Message); Assert.AreEqual("Message missing required fields: a, b, c", e.Message);
} }
[Fact] [Test]
public void BuildPartial() public void BuildPartial()
{ {
// We're mostly testing that no exception is thrown. // We're mostly testing that no exception is thrown.
TestRequired message = TestRequired.CreateBuilder().BuildPartial(); TestRequired message = TestRequired.CreateBuilder().BuildPartial();
Assert.False(message.IsInitialized); Assert.IsFalse(message.IsInitialized);
} }
[Fact] [Test]
public void NestedUninitializedException() public void NestedUninitializedException()
{ {
var e = Assert.Throws<UninitializedMessageException>(() => TestRequiredForeign.CreateBuilder() var e = Assert.Throws<UninitializedMessageException>(() => TestRequiredForeign.CreateBuilder()
@ -248,7 +248,7 @@ namespace Google.ProtocolBuffers
.AddRepeatedMessage(TestRequiredUninitialized) .AddRepeatedMessage(TestRequiredUninitialized)
.AddRepeatedMessage(TestRequiredUninitialized) .AddRepeatedMessage(TestRequiredUninitialized)
.Build()); .Build());
Assert.Equal( Assert.AreEqual(
"Message missing required fields: " + "Message missing required fields: " +
"optional_message.a, " + "optional_message.a, " +
"optional_message.b, " + "optional_message.b, " +
@ -262,7 +262,7 @@ namespace Google.ProtocolBuffers
e.Message); e.Message);
} }
[Fact] [Test]
public void BuildNestedPartial() public void BuildNestedPartial()
{ {
// We're mostly testing that no exception is thrown. // We're mostly testing that no exception is thrown.
@ -272,17 +272,17 @@ namespace Google.ProtocolBuffers
.AddRepeatedMessage(TestRequiredUninitialized) .AddRepeatedMessage(TestRequiredUninitialized)
.AddRepeatedMessage(TestRequiredUninitialized) .AddRepeatedMessage(TestRequiredUninitialized)
.BuildPartial(); .BuildPartial();
Assert.False(message.IsInitialized); Assert.IsFalse(message.IsInitialized);
} }
[Fact] [Test]
public void ParseUninitialized() public void ParseUninitialized()
{ {
var e = Assert.Throws<InvalidProtocolBufferException>(() => TestRequired.ParseFrom(ByteString.Empty)); var e = Assert.Throws<InvalidProtocolBufferException>(() => TestRequired.ParseFrom(ByteString.Empty));
Assert.Equal("Message missing required fields: a, b, c", e.Message); Assert.AreEqual("Message missing required fields: a, b, c", e.Message);
} }
[Fact] [Test]
public void ParseNestedUnititialized() public void ParseNestedUnititialized()
{ {
ByteString data = ByteString data =
@ -293,7 +293,7 @@ namespace Google.ProtocolBuffers
.BuildPartial().ToByteString(); .BuildPartial().ToByteString();
var e = Assert.Throws<InvalidProtocolBufferException>(() => TestRequiredForeign.ParseFrom(data)); var e = Assert.Throws<InvalidProtocolBufferException>(() => TestRequiredForeign.ParseFrom(data));
Assert.Equal( Assert.AreEqual(
"Message missing required fields: " + "Message missing required fields: " +
"optional_message.a, " + "optional_message.a, " +
"optional_message.b, " + "optional_message.b, " +
@ -307,30 +307,30 @@ namespace Google.ProtocolBuffers
e.Message); e.Message);
} }
[Fact] [Test]
public void DynamicUninitializedException() public void DynamicUninitializedException()
{ {
var e = Assert.Throws<UninitializedMessageException>(() => DynamicMessage.CreateBuilder(TestRequired.Descriptor).Build()); var e = Assert.Throws<UninitializedMessageException>(() => DynamicMessage.CreateBuilder(TestRequired.Descriptor).Build());
Assert.Equal("Message missing required fields: a, b, c", e.Message); Assert.AreEqual("Message missing required fields: a, b, c", e.Message);
} }
[Fact] [Test]
public void DynamicBuildPartial() public void DynamicBuildPartial()
{ {
// We're mostly testing that no exception is thrown. // We're mostly testing that no exception is thrown.
DynamicMessage message = DynamicMessage.CreateBuilder(TestRequired.Descriptor).BuildPartial(); DynamicMessage message = DynamicMessage.CreateBuilder(TestRequired.Descriptor).BuildPartial();
Assert.False(message.Initialized); Assert.IsFalse(message.Initialized);
} }
[Fact] [Test]
public void DynamicParseUnititialized() public void DynamicParseUnititialized()
{ {
MessageDescriptor descriptor = TestRequired.Descriptor; MessageDescriptor descriptor = TestRequired.Descriptor;
var e = Assert.Throws<InvalidProtocolBufferException>(() => DynamicMessage.ParseFrom(descriptor, ByteString.Empty)); var e = Assert.Throws<InvalidProtocolBufferException>(() => DynamicMessage.ParseFrom(descriptor, ByteString.Empty));
Assert.Equal("Message missing required fields: a, b, c", e.Message); Assert.AreEqual("Message missing required fields: a, b, c", e.Message);
} }
[Fact] [Test]
public void PackedTypesWrittenDirectlyToStream() public void PackedTypesWrittenDirectlyToStream()
{ {
TestPackedTypes message = new TestPackedTypes.Builder {PackedInt32List = {0, 1, 2}}.Build(); TestPackedTypes message = new TestPackedTypes.Builder {PackedInt32List = {0, 1, 2}}.Build();
@ -338,7 +338,7 @@ namespace Google.ProtocolBuffers
message.WriteTo(stream); message.WriteTo(stream);
stream.Position = 0; stream.Position = 0;
TestPackedTypes readMessage = TestPackedTypes.ParseFrom(stream); TestPackedTypes readMessage = TestPackedTypes.ParseFrom(stream);
Assert.Equal(message, readMessage); Assert.AreEqual(message, readMessage);
} }
} }
} }

@ -36,47 +36,47 @@
using System; using System;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class MessageUtilTest public class MessageUtilTest
{ {
[Fact] [Test]
public void NullTypeName() public void NullTypeName()
{ {
Assert.Throws<ArgumentNullException>(() => MessageUtil.GetDefaultMessage((string) null)); Assert.Throws<ArgumentNullException>(() => MessageUtil.GetDefaultMessage((string) null));
} }
[Fact] [Test]
public void InvalidTypeName() public void InvalidTypeName()
{ {
Assert.Throws<ArgumentException>(() => MessageUtil.GetDefaultMessage("invalidtypename")); Assert.Throws<ArgumentException>(() => MessageUtil.GetDefaultMessage("invalidtypename"));
} }
[Fact] [Test]
public void ValidTypeName() public void ValidTypeName()
{ {
Assert.Same(TestAllTypes.DefaultInstance, Assert.AreSame(TestAllTypes.DefaultInstance,
MessageUtil.GetDefaultMessage(typeof(TestAllTypes).AssemblyQualifiedName)); MessageUtil.GetDefaultMessage(typeof(TestAllTypes).AssemblyQualifiedName));
} }
[Fact] [Test]
public void NullType() public void NullType()
{ {
Assert.Throws<ArgumentNullException>(() => MessageUtil.GetDefaultMessage((Type)null)); Assert.Throws<ArgumentNullException>(() => MessageUtil.GetDefaultMessage((Type)null));
} }
[Fact] [Test]
public void NonMessageType() public void NonMessageType()
{ {
Assert.Throws<ArgumentException>(() => MessageUtil.GetDefaultMessage(typeof(string))); Assert.Throws<ArgumentException>(() => MessageUtil.GetDefaultMessage(typeof(string)));
} }
[Fact] [Test]
public void ValidType() public void ValidType()
{ {
Assert.Same(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof(TestAllTypes))); Assert.AreSame(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof(TestAllTypes)));
} }
} }
} }

@ -34,48 +34,48 @@
#endregion #endregion
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class NameHelpersTest public class NameHelpersTest
{ {
[Fact] [Test]
public void UnderscoresToPascalCase() public void UnderscoresToPascalCase()
{ {
Assert.Equal("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_bar")); Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_bar"));
Assert.Equal("FooBar", NameHelpers.UnderscoresToPascalCase("foo_bar")); Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("foo_bar"));
Assert.Equal("Foo0Bar", NameHelpers.UnderscoresToPascalCase("Foo0bar")); Assert.AreEqual("Foo0Bar", NameHelpers.UnderscoresToPascalCase("Foo0bar"));
Assert.Equal("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_+_Bar")); Assert.AreEqual("FooBar", NameHelpers.UnderscoresToPascalCase("Foo_+_Bar"));
Assert.Equal("Bar", NameHelpers.UnderscoresToPascalCase("__+bar")); Assert.AreEqual("Bar", NameHelpers.UnderscoresToPascalCase("__+bar"));
Assert.Equal("Bar", NameHelpers.UnderscoresToPascalCase("bar_")); Assert.AreEqual("Bar", NameHelpers.UnderscoresToPascalCase("bar_"));
Assert.Equal("_0Bar", NameHelpers.UnderscoresToPascalCase("_0bar")); Assert.AreEqual("_0Bar", NameHelpers.UnderscoresToPascalCase("_0bar"));
Assert.Equal("_1Bar", NameHelpers.UnderscoresToPascalCase("_1_bar")); Assert.AreEqual("_1Bar", NameHelpers.UnderscoresToPascalCase("_1_bar"));
} }
[Fact] [Test]
public void UnderscoresToCamelCase() public void UnderscoresToCamelCase()
{ {
Assert.Equal("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_bar")); Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_bar"));
Assert.Equal("fooBar", NameHelpers.UnderscoresToCamelCase("foo_bar")); Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("foo_bar"));
Assert.Equal("foo0Bar", NameHelpers.UnderscoresToCamelCase("Foo0bar")); Assert.AreEqual("foo0Bar", NameHelpers.UnderscoresToCamelCase("Foo0bar"));
Assert.Equal("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_+_Bar")); Assert.AreEqual("fooBar", NameHelpers.UnderscoresToCamelCase("Foo_+_Bar"));
Assert.Equal("bar", NameHelpers.UnderscoresToCamelCase("__+bar")); Assert.AreEqual("bar", NameHelpers.UnderscoresToCamelCase("__+bar"));
Assert.Equal("bar", NameHelpers.UnderscoresToCamelCase("bar_")); Assert.AreEqual("bar", NameHelpers.UnderscoresToCamelCase("bar_"));
Assert.Equal("_0Bar", NameHelpers.UnderscoresToCamelCase("_0bar")); Assert.AreEqual("_0Bar", NameHelpers.UnderscoresToCamelCase("_0bar"));
Assert.Equal("_1Bar", NameHelpers.UnderscoresToCamelCase("_1_bar")); Assert.AreEqual("_1Bar", NameHelpers.UnderscoresToCamelCase("_1_bar"));
} }
[Fact] [Test]
public void StripSuffix() public void StripSuffix()
{ {
string text = "FooBar"; string text = "FooBar";
Assert.False(NameHelpers.StripSuffix(ref text, "Foo")); Assert.IsFalse(NameHelpers.StripSuffix(ref text, "Foo"));
Assert.Equal("FooBar", text); Assert.AreEqual("FooBar", text);
Assert.True(NameHelpers.StripSuffix(ref text, "Bar")); Assert.IsTrue(NameHelpers.StripSuffix(ref text, "Bar"));
Assert.Equal("Foo", text); Assert.AreEqual("Foo", text);
} }
} }
} }

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" />
<Import Project="..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -19,7 +17,8 @@
<OldToolsVersion>3.5</OldToolsVersion> <OldToolsVersion>3.5</OldToolsVersion>
<TargetFrameworkProfile> <TargetFrameworkProfile>
</TargetFrameworkProfile> </TargetFrameworkProfile>
<NuGetPackageImportStamp>d37384c8</NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
@ -50,17 +49,28 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<Reference Include="System.Xml" /> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
<Reference Include="xunit.abstractions"> <Private>True</Private>
<HintPath>..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll</HintPath> </Reference>
<Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.assert"> <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.assert.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.assert.dll</HintPath> <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.core"> <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll</HintPath> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AbstractMessageTest.cs" /> <Compile Include="AbstractMessageTest.cs" />
@ -144,11 +154,4 @@
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props'))" />
<Error Condition="!Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props'))" />
</Target>
</Project> </Project>

@ -37,7 +37,7 @@
using System; using System;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
#pragma warning disable 618 // Disable warning about obsolete use miss-matched assert arguments #pragma warning disable 618 // Disable warning about obsolete use miss-matched assert arguments
@ -97,7 +97,7 @@ namespace Google.ProtocolBuffers
this.extensionRegistry = extensionRegistry; this.extensionRegistry = extensionRegistry;
this.file = baseDescriptor.File; this.file = baseDescriptor.File;
Assert.Equal(1, file.Dependencies.Count); Assert.AreEqual(1, file.Dependencies.Count);
this.importFile = file.Dependencies[0]; this.importFile = file.Dependencies[0];
MessageDescriptor testAllTypes; MessageDescriptor testAllTypes;
@ -449,199 +449,199 @@ namespace Google.ProtocolBuffers
/// </summary> /// </summary>
public void AssertAllFieldsSetViaReflection(IMessage message) public void AssertAllFieldsSetViaReflection(IMessage message)
{ {
Assert.True(message.HasField(f("optional_int32"))); Assert.IsTrue(message.HasField(f("optional_int32")));
Assert.True(message.HasField(f("optional_int64"))); Assert.IsTrue(message.HasField(f("optional_int64")));
Assert.True(message.HasField(f("optional_uint32"))); Assert.IsTrue(message.HasField(f("optional_uint32")));
Assert.True(message.HasField(f("optional_uint64"))); Assert.IsTrue(message.HasField(f("optional_uint64")));
Assert.True(message.HasField(f("optional_sint32"))); Assert.IsTrue(message.HasField(f("optional_sint32")));
Assert.True(message.HasField(f("optional_sint64"))); Assert.IsTrue(message.HasField(f("optional_sint64")));
Assert.True(message.HasField(f("optional_fixed32"))); Assert.IsTrue(message.HasField(f("optional_fixed32")));
Assert.True(message.HasField(f("optional_fixed64"))); Assert.IsTrue(message.HasField(f("optional_fixed64")));
Assert.True(message.HasField(f("optional_sfixed32"))); Assert.IsTrue(message.HasField(f("optional_sfixed32")));
Assert.True(message.HasField(f("optional_sfixed64"))); Assert.IsTrue(message.HasField(f("optional_sfixed64")));
Assert.True(message.HasField(f("optional_float"))); Assert.IsTrue(message.HasField(f("optional_float")));
Assert.True(message.HasField(f("optional_double"))); Assert.IsTrue(message.HasField(f("optional_double")));
Assert.True(message.HasField(f("optional_bool"))); Assert.IsTrue(message.HasField(f("optional_bool")));
Assert.True(message.HasField(f("optional_string"))); Assert.IsTrue(message.HasField(f("optional_string")));
Assert.True(message.HasField(f("optional_bytes"))); Assert.IsTrue(message.HasField(f("optional_bytes")));
Assert.True(message.HasField(f("optionalgroup"))); Assert.IsTrue(message.HasField(f("optionalgroup")));
Assert.True(message.HasField(f("optional_nested_message"))); Assert.IsTrue(message.HasField(f("optional_nested_message")));
Assert.True(message.HasField(f("optional_foreign_message"))); Assert.IsTrue(message.HasField(f("optional_foreign_message")));
Assert.True(message.HasField(f("optional_import_message"))); Assert.IsTrue(message.HasField(f("optional_import_message")));
Assert.True(((IMessage) message[f("optionalgroup")]).HasField(groupA)); Assert.IsTrue(((IMessage) message[f("optionalgroup")]).HasField(groupA));
Assert.True(((IMessage) message[f("optional_nested_message")]).HasField(nestedB)); Assert.IsTrue(((IMessage) message[f("optional_nested_message")]).HasField(nestedB));
Assert.True(((IMessage) message[f("optional_foreign_message")]).HasField(foreignC)); Assert.IsTrue(((IMessage) message[f("optional_foreign_message")]).HasField(foreignC));
Assert.True(((IMessage) message[f("optional_import_message")]).HasField(importD)); Assert.IsTrue(((IMessage) message[f("optional_import_message")]).HasField(importD));
Assert.True(message.HasField(f("optional_nested_enum"))); Assert.IsTrue(message.HasField(f("optional_nested_enum")));
Assert.True(message.HasField(f("optional_foreign_enum"))); Assert.IsTrue(message.HasField(f("optional_foreign_enum")));
Assert.True(message.HasField(f("optional_import_enum"))); Assert.IsTrue(message.HasField(f("optional_import_enum")));
Assert.True(message.HasField(f("optional_string_piece"))); Assert.IsTrue(message.HasField(f("optional_string_piece")));
Assert.True(message.HasField(f("optional_cord"))); Assert.IsTrue(message.HasField(f("optional_cord")));
Assert.Equal(101, message[f("optional_int32")]); Assert.AreEqual(101, message[f("optional_int32")]);
Assert.Equal(102L, message[f("optional_int64")]); Assert.AreEqual(102L, message[f("optional_int64")]);
Assert.Equal(103u, message[f("optional_uint32")]); Assert.AreEqual(103u, message[f("optional_uint32")]);
Assert.Equal(104UL, message[f("optional_uint64")]); Assert.AreEqual(104UL, message[f("optional_uint64")]);
Assert.Equal(105, message[f("optional_sint32")]); Assert.AreEqual(105, message[f("optional_sint32")]);
Assert.Equal(106L, message[f("optional_sint64")]); Assert.AreEqual(106L, message[f("optional_sint64")]);
Assert.Equal(107U, message[f("optional_fixed32")]); Assert.AreEqual(107U, message[f("optional_fixed32")]);
Assert.Equal(108UL, message[f("optional_fixed64")]); Assert.AreEqual(108UL, message[f("optional_fixed64")]);
Assert.Equal(109, message[f("optional_sfixed32")]); Assert.AreEqual(109, message[f("optional_sfixed32")]);
Assert.Equal(110L, message[f("optional_sfixed64")]); Assert.AreEqual(110L, message[f("optional_sfixed64")]);
Assert.Equal(111F, message[f("optional_float")]); Assert.AreEqual(111F, message[f("optional_float")]);
Assert.Equal(112D, message[f("optional_double")]); Assert.AreEqual(112D, message[f("optional_double")]);
Assert.Equal(true, message[f("optional_bool")]); Assert.AreEqual(true, message[f("optional_bool")]);
Assert.Equal("115", message[f("optional_string")]); Assert.AreEqual("115", message[f("optional_string")]);
Assert.Equal(TestUtil.ToBytes("116"), message[f("optional_bytes")]); Assert.AreEqual(TestUtil.ToBytes("116"), message[f("optional_bytes")]);
Assert.Equal(117, ((IMessage) message[f("optionalgroup")])[groupA]); Assert.AreEqual(117, ((IMessage) message[f("optionalgroup")])[groupA]);
Assert.Equal(118, ((IMessage) message[f("optional_nested_message")])[nestedB]); Assert.AreEqual(118, ((IMessage) message[f("optional_nested_message")])[nestedB]);
Assert.Equal(119, ((IMessage) message[f("optional_foreign_message")])[foreignC]); Assert.AreEqual(119, ((IMessage) message[f("optional_foreign_message")])[foreignC]);
Assert.Equal(120, ((IMessage) message[f("optional_import_message")])[importD]); Assert.AreEqual(120, ((IMessage) message[f("optional_import_message")])[importD]);
Assert.Equal(nestedBaz, message[f("optional_nested_enum")]); Assert.AreEqual(nestedBaz, message[f("optional_nested_enum")]);
Assert.Equal(foreignBaz, message[f("optional_foreign_enum")]); Assert.AreEqual(foreignBaz, message[f("optional_foreign_enum")]);
Assert.Equal(importBaz, message[f("optional_import_enum")]); Assert.AreEqual(importBaz, message[f("optional_import_enum")]);
Assert.Equal("124", message[f("optional_string_piece")]); Assert.AreEqual("124", message[f("optional_string_piece")]);
Assert.Equal("125", message[f("optional_cord")]); Assert.AreEqual("125", message[f("optional_cord")]);
// ----------------------------------------------------------------- // -----------------------------------------------------------------
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_int32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_int32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_int64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_int64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_uint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_uint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_uint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_uint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_fixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_fixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_fixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_fixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sfixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sfixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sfixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sfixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_float"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_float")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_double"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_double")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_bool"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_bool")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_string"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_string")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_bytes"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_bytes")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeatedgroup"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeatedgroup")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_nested_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_nested_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_foreign_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_foreign_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_import_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_import_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_nested_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_nested_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_foreign_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_foreign_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_import_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_import_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_string_piece"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_string_piece")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_cord"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_cord")));
Assert.Equal(201, message[f("repeated_int32"), 0]); Assert.AreEqual(201, message[f("repeated_int32"), 0]);
Assert.Equal(202L, message[f("repeated_int64"), 0]); Assert.AreEqual(202L, message[f("repeated_int64"), 0]);
Assert.Equal(203U, message[f("repeated_uint32"), 0]); Assert.AreEqual(203U, message[f("repeated_uint32"), 0]);
Assert.Equal(204UL, message[f("repeated_uint64"), 0]); Assert.AreEqual(204UL, message[f("repeated_uint64"), 0]);
Assert.Equal(205, message[f("repeated_sint32"), 0]); Assert.AreEqual(205, message[f("repeated_sint32"), 0]);
Assert.Equal(206L, message[f("repeated_sint64"), 0]); Assert.AreEqual(206L, message[f("repeated_sint64"), 0]);
Assert.Equal(207U, message[f("repeated_fixed32"), 0]); Assert.AreEqual(207U, message[f("repeated_fixed32"), 0]);
Assert.Equal(208UL, message[f("repeated_fixed64"), 0]); Assert.AreEqual(208UL, message[f("repeated_fixed64"), 0]);
Assert.Equal(209, message[f("repeated_sfixed32"), 0]); Assert.AreEqual(209, message[f("repeated_sfixed32"), 0]);
Assert.Equal(210L, message[f("repeated_sfixed64"), 0]); Assert.AreEqual(210L, message[f("repeated_sfixed64"), 0]);
Assert.Equal(211F, message[f("repeated_float"), 0]); Assert.AreEqual(211F, message[f("repeated_float"), 0]);
Assert.Equal(212D, message[f("repeated_double"), 0]); Assert.AreEqual(212D, message[f("repeated_double"), 0]);
Assert.Equal(true, message[f("repeated_bool"), 0]); Assert.AreEqual(true, message[f("repeated_bool"), 0]);
Assert.Equal("215", message[f("repeated_string"), 0]); Assert.AreEqual("215", message[f("repeated_string"), 0]);
Assert.Equal(TestUtil.ToBytes("216"), message[f("repeated_bytes"), 0]); Assert.AreEqual(TestUtil.ToBytes("216"), message[f("repeated_bytes"), 0]);
Assert.Equal(217, ((IMessage) message[f("repeatedgroup"), 0])[repeatedGroupA]); Assert.AreEqual(217, ((IMessage) message[f("repeatedgroup"), 0])[repeatedGroupA]);
Assert.Equal(218, ((IMessage) message[f("repeated_nested_message"), 0])[nestedB]); Assert.AreEqual(218, ((IMessage) message[f("repeated_nested_message"), 0])[nestedB]);
Assert.Equal(219, ((IMessage) message[f("repeated_foreign_message"), 0])[foreignC]); Assert.AreEqual(219, ((IMessage) message[f("repeated_foreign_message"), 0])[foreignC]);
Assert.Equal(220, ((IMessage) message[f("repeated_import_message"), 0])[importD]); Assert.AreEqual(220, ((IMessage) message[f("repeated_import_message"), 0])[importD]);
Assert.Equal(nestedBar, message[f("repeated_nested_enum"), 0]); Assert.AreEqual(nestedBar, message[f("repeated_nested_enum"), 0]);
Assert.Equal(foreignBar, message[f("repeated_foreign_enum"), 0]); Assert.AreEqual(foreignBar, message[f("repeated_foreign_enum"), 0]);
Assert.Equal(importBar, message[f("repeated_import_enum"), 0]); Assert.AreEqual(importBar, message[f("repeated_import_enum"), 0]);
Assert.Equal("224", message[f("repeated_string_piece"), 0]); Assert.AreEqual("224", message[f("repeated_string_piece"), 0]);
Assert.Equal("225", message[f("repeated_cord"), 0]); Assert.AreEqual("225", message[f("repeated_cord"), 0]);
Assert.Equal(301, message[f("repeated_int32"), 1]); Assert.AreEqual(301, message[f("repeated_int32"), 1]);
Assert.Equal(302L, message[f("repeated_int64"), 1]); Assert.AreEqual(302L, message[f("repeated_int64"), 1]);
Assert.Equal(303U, message[f("repeated_uint32"), 1]); Assert.AreEqual(303U, message[f("repeated_uint32"), 1]);
Assert.Equal(304UL, message[f("repeated_uint64"), 1]); Assert.AreEqual(304UL, message[f("repeated_uint64"), 1]);
Assert.Equal(305, message[f("repeated_sint32"), 1]); Assert.AreEqual(305, message[f("repeated_sint32"), 1]);
Assert.Equal(306L, message[f("repeated_sint64"), 1]); Assert.AreEqual(306L, message[f("repeated_sint64"), 1]);
Assert.Equal(307U, message[f("repeated_fixed32"), 1]); Assert.AreEqual(307U, message[f("repeated_fixed32"), 1]);
Assert.Equal(308UL, message[f("repeated_fixed64"), 1]); Assert.AreEqual(308UL, message[f("repeated_fixed64"), 1]);
Assert.Equal(309, message[f("repeated_sfixed32"), 1]); Assert.AreEqual(309, message[f("repeated_sfixed32"), 1]);
Assert.Equal(310L, message[f("repeated_sfixed64"), 1]); Assert.AreEqual(310L, message[f("repeated_sfixed64"), 1]);
Assert.Equal(311F, message[f("repeated_float"), 1]); Assert.AreEqual(311F, message[f("repeated_float"), 1]);
Assert.Equal(312D, message[f("repeated_double"), 1]); Assert.AreEqual(312D, message[f("repeated_double"), 1]);
Assert.Equal(false, message[f("repeated_bool"), 1]); Assert.AreEqual(false, message[f("repeated_bool"), 1]);
Assert.Equal("315", message[f("repeated_string"), 1]); Assert.AreEqual("315", message[f("repeated_string"), 1]);
Assert.Equal(TestUtil.ToBytes("316"), message[f("repeated_bytes"), 1]); Assert.AreEqual(TestUtil.ToBytes("316"), message[f("repeated_bytes"), 1]);
Assert.Equal(317, ((IMessage) message[f("repeatedgroup"), 1])[repeatedGroupA]); Assert.AreEqual(317, ((IMessage) message[f("repeatedgroup"), 1])[repeatedGroupA]);
Assert.Equal(318, ((IMessage) message[f("repeated_nested_message"), 1])[nestedB]); Assert.AreEqual(318, ((IMessage) message[f("repeated_nested_message"), 1])[nestedB]);
Assert.Equal(319, ((IMessage) message[f("repeated_foreign_message"), 1])[foreignC]); Assert.AreEqual(319, ((IMessage) message[f("repeated_foreign_message"), 1])[foreignC]);
Assert.Equal(320, ((IMessage) message[f("repeated_import_message"), 1])[importD]); Assert.AreEqual(320, ((IMessage) message[f("repeated_import_message"), 1])[importD]);
Assert.Equal(nestedBaz, message[f("repeated_nested_enum"), 1]); Assert.AreEqual(nestedBaz, message[f("repeated_nested_enum"), 1]);
Assert.Equal(foreignBaz, message[f("repeated_foreign_enum"), 1]); Assert.AreEqual(foreignBaz, message[f("repeated_foreign_enum"), 1]);
Assert.Equal(importBaz, message[f("repeated_import_enum"), 1]); Assert.AreEqual(importBaz, message[f("repeated_import_enum"), 1]);
Assert.Equal("324", message[f("repeated_string_piece"), 1]); Assert.AreEqual("324", message[f("repeated_string_piece"), 1]);
Assert.Equal("325", message[f("repeated_cord"), 1]); Assert.AreEqual("325", message[f("repeated_cord"), 1]);
// ----------------------------------------------------------------- // -----------------------------------------------------------------
Assert.True(message.HasField(f("default_int32"))); Assert.IsTrue(message.HasField(f("default_int32")));
Assert.True(message.HasField(f("default_int64"))); Assert.IsTrue(message.HasField(f("default_int64")));
Assert.True(message.HasField(f("default_uint32"))); Assert.IsTrue(message.HasField(f("default_uint32")));
Assert.True(message.HasField(f("default_uint64"))); Assert.IsTrue(message.HasField(f("default_uint64")));
Assert.True(message.HasField(f("default_sint32"))); Assert.IsTrue(message.HasField(f("default_sint32")));
Assert.True(message.HasField(f("default_sint64"))); Assert.IsTrue(message.HasField(f("default_sint64")));
Assert.True(message.HasField(f("default_fixed32"))); Assert.IsTrue(message.HasField(f("default_fixed32")));
Assert.True(message.HasField(f("default_fixed64"))); Assert.IsTrue(message.HasField(f("default_fixed64")));
Assert.True(message.HasField(f("default_sfixed32"))); Assert.IsTrue(message.HasField(f("default_sfixed32")));
Assert.True(message.HasField(f("default_sfixed64"))); Assert.IsTrue(message.HasField(f("default_sfixed64")));
Assert.True(message.HasField(f("default_float"))); Assert.IsTrue(message.HasField(f("default_float")));
Assert.True(message.HasField(f("default_double"))); Assert.IsTrue(message.HasField(f("default_double")));
Assert.True(message.HasField(f("default_bool"))); Assert.IsTrue(message.HasField(f("default_bool")));
Assert.True(message.HasField(f("default_string"))); Assert.IsTrue(message.HasField(f("default_string")));
Assert.True(message.HasField(f("default_bytes"))); Assert.IsTrue(message.HasField(f("default_bytes")));
Assert.True(message.HasField(f("default_nested_enum"))); Assert.IsTrue(message.HasField(f("default_nested_enum")));
Assert.True(message.HasField(f("default_foreign_enum"))); Assert.IsTrue(message.HasField(f("default_foreign_enum")));
Assert.True(message.HasField(f("default_import_enum"))); Assert.IsTrue(message.HasField(f("default_import_enum")));
Assert.True(message.HasField(f("default_string_piece"))); Assert.IsTrue(message.HasField(f("default_string_piece")));
Assert.True(message.HasField(f("default_cord"))); Assert.IsTrue(message.HasField(f("default_cord")));
Assert.Equal(401, message[f("default_int32")]); Assert.AreEqual(401, message[f("default_int32")]);
Assert.Equal(402L, message[f("default_int64")]); Assert.AreEqual(402L, message[f("default_int64")]);
Assert.Equal(403U, message[f("default_uint32")]); Assert.AreEqual(403U, message[f("default_uint32")]);
Assert.Equal(404UL, message[f("default_uint64")]); Assert.AreEqual(404UL, message[f("default_uint64")]);
Assert.Equal(405, message[f("default_sint32")]); Assert.AreEqual(405, message[f("default_sint32")]);
Assert.Equal(406L, message[f("default_sint64")]); Assert.AreEqual(406L, message[f("default_sint64")]);
Assert.Equal(407U, message[f("default_fixed32")]); Assert.AreEqual(407U, message[f("default_fixed32")]);
Assert.Equal(408UL, message[f("default_fixed64")]); Assert.AreEqual(408UL, message[f("default_fixed64")]);
Assert.Equal(409, message[f("default_sfixed32")]); Assert.AreEqual(409, message[f("default_sfixed32")]);
Assert.Equal(410L, message[f("default_sfixed64")]); Assert.AreEqual(410L, message[f("default_sfixed64")]);
Assert.Equal(411F, message[f("default_float")]); Assert.AreEqual(411F, message[f("default_float")]);
Assert.Equal(412D, message[f("default_double")]); Assert.AreEqual(412D, message[f("default_double")]);
Assert.Equal(false, message[f("default_bool")]); Assert.AreEqual(false, message[f("default_bool")]);
Assert.Equal("415", message[f("default_string")]); Assert.AreEqual("415", message[f("default_string")]);
Assert.Equal(TestUtil.ToBytes("416"), message[f("default_bytes")]); Assert.AreEqual(TestUtil.ToBytes("416"), message[f("default_bytes")]);
Assert.Equal(nestedFoo, message[f("default_nested_enum")]); Assert.AreEqual(nestedFoo, message[f("default_nested_enum")]);
Assert.Equal(foreignFoo, message[f("default_foreign_enum")]); Assert.AreEqual(foreignFoo, message[f("default_foreign_enum")]);
Assert.Equal(importFoo, message[f("default_import_enum")]); Assert.AreEqual(importFoo, message[f("default_import_enum")]);
Assert.Equal("424", message[f("default_string_piece")]); Assert.AreEqual("424", message[f("default_string_piece")]);
Assert.Equal("425", message[f("default_cord")]); Assert.AreEqual("425", message[f("default_cord")]);
} }
/// <summary> /// <summary>
@ -651,148 +651,148 @@ namespace Google.ProtocolBuffers
public void AssertClearViaReflection(IMessage message) public void AssertClearViaReflection(IMessage message)
{ {
// has_blah() should initially be false for all optional fields. // has_blah() should initially be false for all optional fields.
Assert.False(message.HasField(f("optional_int32"))); Assert.IsFalse(message.HasField(f("optional_int32")));
Assert.False(message.HasField(f("optional_int64"))); Assert.IsFalse(message.HasField(f("optional_int64")));
Assert.False(message.HasField(f("optional_uint32"))); Assert.IsFalse(message.HasField(f("optional_uint32")));
Assert.False(message.HasField(f("optional_uint64"))); Assert.IsFalse(message.HasField(f("optional_uint64")));
Assert.False(message.HasField(f("optional_sint32"))); Assert.IsFalse(message.HasField(f("optional_sint32")));
Assert.False(message.HasField(f("optional_sint64"))); Assert.IsFalse(message.HasField(f("optional_sint64")));
Assert.False(message.HasField(f("optional_fixed32"))); Assert.IsFalse(message.HasField(f("optional_fixed32")));
Assert.False(message.HasField(f("optional_fixed64"))); Assert.IsFalse(message.HasField(f("optional_fixed64")));
Assert.False(message.HasField(f("optional_sfixed32"))); Assert.IsFalse(message.HasField(f("optional_sfixed32")));
Assert.False(message.HasField(f("optional_sfixed64"))); Assert.IsFalse(message.HasField(f("optional_sfixed64")));
Assert.False(message.HasField(f("optional_float"))); Assert.IsFalse(message.HasField(f("optional_float")));
Assert.False(message.HasField(f("optional_double"))); Assert.IsFalse(message.HasField(f("optional_double")));
Assert.False(message.HasField(f("optional_bool"))); Assert.IsFalse(message.HasField(f("optional_bool")));
Assert.False(message.HasField(f("optional_string"))); Assert.IsFalse(message.HasField(f("optional_string")));
Assert.False(message.HasField(f("optional_bytes"))); Assert.IsFalse(message.HasField(f("optional_bytes")));
Assert.False(message.HasField(f("optionalgroup"))); Assert.IsFalse(message.HasField(f("optionalgroup")));
Assert.False(message.HasField(f("optional_nested_message"))); Assert.IsFalse(message.HasField(f("optional_nested_message")));
Assert.False(message.HasField(f("optional_foreign_message"))); Assert.IsFalse(message.HasField(f("optional_foreign_message")));
Assert.False(message.HasField(f("optional_import_message"))); Assert.IsFalse(message.HasField(f("optional_import_message")));
Assert.False(message.HasField(f("optional_nested_enum"))); Assert.IsFalse(message.HasField(f("optional_nested_enum")));
Assert.False(message.HasField(f("optional_foreign_enum"))); Assert.IsFalse(message.HasField(f("optional_foreign_enum")));
Assert.False(message.HasField(f("optional_import_enum"))); Assert.IsFalse(message.HasField(f("optional_import_enum")));
Assert.False(message.HasField(f("optional_string_piece"))); Assert.IsFalse(message.HasField(f("optional_string_piece")));
Assert.False(message.HasField(f("optional_cord"))); Assert.IsFalse(message.HasField(f("optional_cord")));
// Optional fields without defaults are set to zero or something like it. // Optional fields without defaults are set to zero or something like it.
Assert.Equal(0, message[f("optional_int32")]); Assert.AreEqual(0, message[f("optional_int32")]);
Assert.Equal(0L, message[f("optional_int64")]); Assert.AreEqual(0L, message[f("optional_int64")]);
Assert.Equal(0U, message[f("optional_uint32")]); Assert.AreEqual(0U, message[f("optional_uint32")]);
Assert.Equal(0UL, message[f("optional_uint64")]); Assert.AreEqual(0UL, message[f("optional_uint64")]);
Assert.Equal(0, message[f("optional_sint32")]); Assert.AreEqual(0, message[f("optional_sint32")]);
Assert.Equal(0L, message[f("optional_sint64")]); Assert.AreEqual(0L, message[f("optional_sint64")]);
Assert.Equal(0U, message[f("optional_fixed32")]); Assert.AreEqual(0U, message[f("optional_fixed32")]);
Assert.Equal(0UL, message[f("optional_fixed64")]); Assert.AreEqual(0UL, message[f("optional_fixed64")]);
Assert.Equal(0, message[f("optional_sfixed32")]); Assert.AreEqual(0, message[f("optional_sfixed32")]);
Assert.Equal(0L, message[f("optional_sfixed64")]); Assert.AreEqual(0L, message[f("optional_sfixed64")]);
Assert.Equal(0F, message[f("optional_float")]); Assert.AreEqual(0F, message[f("optional_float")]);
Assert.Equal(0D, message[f("optional_double")]); Assert.AreEqual(0D, message[f("optional_double")]);
Assert.Equal(false, message[f("optional_bool")]); Assert.AreEqual(false, message[f("optional_bool")]);
Assert.Equal("", message[f("optional_string")]); Assert.AreEqual("", message[f("optional_string")]);
Assert.Equal(ByteString.Empty, message[f("optional_bytes")]); Assert.AreEqual(ByteString.Empty, message[f("optional_bytes")]);
// Embedded messages should also be clear. // Embedded messages should also be clear.
Assert.False(((IMessage) message[f("optionalgroup")]).HasField(groupA)); Assert.IsFalse(((IMessage) message[f("optionalgroup")]).HasField(groupA));
Assert.False(((IMessage) message[f("optional_nested_message")]) Assert.IsFalse(((IMessage) message[f("optional_nested_message")])
.HasField(nestedB)); .HasField(nestedB));
Assert.False(((IMessage) message[f("optional_foreign_message")]) Assert.IsFalse(((IMessage) message[f("optional_foreign_message")])
.HasField(foreignC)); .HasField(foreignC));
Assert.False(((IMessage) message[f("optional_import_message")]) Assert.IsFalse(((IMessage) message[f("optional_import_message")])
.HasField(importD)); .HasField(importD));
Assert.Equal(0, ((IMessage) message[f("optionalgroup")])[groupA]); Assert.AreEqual(0, ((IMessage) message[f("optionalgroup")])[groupA]);
Assert.Equal(0, ((IMessage) message[f("optional_nested_message")])[nestedB]); Assert.AreEqual(0, ((IMessage) message[f("optional_nested_message")])[nestedB]);
Assert.Equal(0, ((IMessage) message[f("optional_foreign_message")])[foreignC]); Assert.AreEqual(0, ((IMessage) message[f("optional_foreign_message")])[foreignC]);
Assert.Equal(0, ((IMessage) message[f("optional_import_message")])[importD]); Assert.AreEqual(0, ((IMessage) message[f("optional_import_message")])[importD]);
// Enums without defaults are set to the first value in the enum. // Enums without defaults are set to the first value in the enum.
Assert.Equal(nestedFoo, message[f("optional_nested_enum")]); Assert.AreEqual(nestedFoo, message[f("optional_nested_enum")]);
Assert.Equal(foreignFoo, message[f("optional_foreign_enum")]); Assert.AreEqual(foreignFoo, message[f("optional_foreign_enum")]);
Assert.Equal(importFoo, message[f("optional_import_enum")]); Assert.AreEqual(importFoo, message[f("optional_import_enum")]);
Assert.Equal("", message[f("optional_string_piece")]); Assert.AreEqual("", message[f("optional_string_piece")]);
Assert.Equal("", message[f("optional_cord")]); Assert.AreEqual("", message[f("optional_cord")]);
// Repeated fields are empty. // Repeated fields are empty.
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_int32"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_int32")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_int64"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_int64")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_uint32"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_uint32")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_uint64"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_uint64")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_sint32"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_sint32")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_sint64"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_sint64")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_fixed32"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_fixed32")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_fixed64"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_fixed64")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_sfixed32"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_sfixed32")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_sfixed64"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_sfixed64")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_float"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_float")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_double"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_double")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_bool"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_bool")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_string"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_string")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_bytes"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_bytes")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeatedgroup"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeatedgroup")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_nested_message"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_nested_message")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_foreign_message"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_foreign_message")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_import_message"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_import_message")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_nested_enum"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_nested_enum")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_foreign_enum"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_foreign_enum")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_import_enum"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_import_enum")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_string_piece"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_string_piece")));
Assert.Equal(0, message.GetRepeatedFieldCount(f("repeated_cord"))); Assert.AreEqual(0, message.GetRepeatedFieldCount(f("repeated_cord")));
// has_blah() should also be false for all default fields. // has_blah() should also be false for all default fields.
Assert.False(message.HasField(f("default_int32"))); Assert.IsFalse(message.HasField(f("default_int32")));
Assert.False(message.HasField(f("default_int64"))); Assert.IsFalse(message.HasField(f("default_int64")));
Assert.False(message.HasField(f("default_uint32"))); Assert.IsFalse(message.HasField(f("default_uint32")));
Assert.False(message.HasField(f("default_uint64"))); Assert.IsFalse(message.HasField(f("default_uint64")));
Assert.False(message.HasField(f("default_sint32"))); Assert.IsFalse(message.HasField(f("default_sint32")));
Assert.False(message.HasField(f("default_sint64"))); Assert.IsFalse(message.HasField(f("default_sint64")));
Assert.False(message.HasField(f("default_fixed32"))); Assert.IsFalse(message.HasField(f("default_fixed32")));
Assert.False(message.HasField(f("default_fixed64"))); Assert.IsFalse(message.HasField(f("default_fixed64")));
Assert.False(message.HasField(f("default_sfixed32"))); Assert.IsFalse(message.HasField(f("default_sfixed32")));
Assert.False(message.HasField(f("default_sfixed64"))); Assert.IsFalse(message.HasField(f("default_sfixed64")));
Assert.False(message.HasField(f("default_float"))); Assert.IsFalse(message.HasField(f("default_float")));
Assert.False(message.HasField(f("default_double"))); Assert.IsFalse(message.HasField(f("default_double")));
Assert.False(message.HasField(f("default_bool"))); Assert.IsFalse(message.HasField(f("default_bool")));
Assert.False(message.HasField(f("default_string"))); Assert.IsFalse(message.HasField(f("default_string")));
Assert.False(message.HasField(f("default_bytes"))); Assert.IsFalse(message.HasField(f("default_bytes")));
Assert.False(message.HasField(f("default_nested_enum"))); Assert.IsFalse(message.HasField(f("default_nested_enum")));
Assert.False(message.HasField(f("default_foreign_enum"))); Assert.IsFalse(message.HasField(f("default_foreign_enum")));
Assert.False(message.HasField(f("default_import_enum"))); Assert.IsFalse(message.HasField(f("default_import_enum")));
Assert.False(message.HasField(f("default_string_piece"))); Assert.IsFalse(message.HasField(f("default_string_piece")));
Assert.False(message.HasField(f("default_cord"))); Assert.IsFalse(message.HasField(f("default_cord")));
// Fields with defaults have their default values (duh). // Fields with defaults have their default values (duh).
Assert.Equal(41, message[f("default_int32")]); Assert.AreEqual(41, message[f("default_int32")]);
Assert.Equal(42L, message[f("default_int64")]); Assert.AreEqual(42L, message[f("default_int64")]);
Assert.Equal(43U, message[f("default_uint32")]); Assert.AreEqual(43U, message[f("default_uint32")]);
Assert.Equal(44UL, message[f("default_uint64")]); Assert.AreEqual(44UL, message[f("default_uint64")]);
Assert.Equal(-45, message[f("default_sint32")]); Assert.AreEqual(-45, message[f("default_sint32")]);
Assert.Equal(46L, message[f("default_sint64")]); Assert.AreEqual(46L, message[f("default_sint64")]);
Assert.Equal(47U, message[f("default_fixed32")]); Assert.AreEqual(47U, message[f("default_fixed32")]);
Assert.Equal(48UL, message[f("default_fixed64")]); Assert.AreEqual(48UL, message[f("default_fixed64")]);
Assert.Equal(49, message[f("default_sfixed32")]); Assert.AreEqual(49, message[f("default_sfixed32")]);
Assert.Equal(-50L, message[f("default_sfixed64")]); Assert.AreEqual(-50L, message[f("default_sfixed64")]);
Assert.Equal(51.5F, message[f("default_float")]); Assert.AreEqual(51.5F, message[f("default_float")]);
Assert.Equal(52e3D, message[f("default_double")]); Assert.AreEqual(52e3D, message[f("default_double")]);
Assert.Equal(true, message[f("default_bool")]); Assert.AreEqual(true, message[f("default_bool")]);
Assert.Equal("hello", message[f("default_string")]); Assert.AreEqual("hello", message[f("default_string")]);
Assert.Equal(TestUtil.ToBytes("world"), message[f("default_bytes")]); Assert.AreEqual(TestUtil.ToBytes("world"), message[f("default_bytes")]);
Assert.Equal(nestedBar, message[f("default_nested_enum")]); Assert.AreEqual(nestedBar, message[f("default_nested_enum")]);
Assert.Equal(foreignBar, message[f("default_foreign_enum")]); Assert.AreEqual(foreignBar, message[f("default_foreign_enum")]);
Assert.Equal(importBar, message[f("default_import_enum")]); Assert.AreEqual(importBar, message[f("default_import_enum")]);
Assert.Equal("abc", message[f("default_string_piece")]); Assert.AreEqual("abc", message[f("default_string_piece")]);
Assert.Equal("123", message[f("default_cord")]); Assert.AreEqual("123", message[f("default_cord")]);
} }
// --------------------------------------------------------------- // ---------------------------------------------------------------
@ -802,88 +802,88 @@ namespace Google.ProtocolBuffers
// ModifyRepeatedFields only sets the second repeated element of each // ModifyRepeatedFields only sets the second repeated element of each
// field. In addition to verifying this, we also verify that the first // field. In addition to verifying this, we also verify that the first
// element and size were *not* modified. // element and size were *not* modified.
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_int32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_int32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_int64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_int64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_uint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_uint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_uint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_uint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_fixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_fixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_fixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_fixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sfixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sfixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_sfixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_sfixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_float"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_float")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_double"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_double")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_bool"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_bool")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_string"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_string")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_bytes"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_bytes")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeatedgroup"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeatedgroup")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_nested_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_nested_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_foreign_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_foreign_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_import_message"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_import_message")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_nested_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_nested_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_foreign_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_foreign_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_import_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_import_enum")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_string_piece"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_string_piece")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("repeated_cord"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("repeated_cord")));
Assert.Equal(201, message[f("repeated_int32"), 0]); Assert.AreEqual(201, message[f("repeated_int32"), 0]);
Assert.Equal(202L, message[f("repeated_int64"), 0]); Assert.AreEqual(202L, message[f("repeated_int64"), 0]);
Assert.Equal(203U, message[f("repeated_uint32"), 0]); Assert.AreEqual(203U, message[f("repeated_uint32"), 0]);
Assert.Equal(204UL, message[f("repeated_uint64"), 0]); Assert.AreEqual(204UL, message[f("repeated_uint64"), 0]);
Assert.Equal(205, message[f("repeated_sint32"), 0]); Assert.AreEqual(205, message[f("repeated_sint32"), 0]);
Assert.Equal(206L, message[f("repeated_sint64"), 0]); Assert.AreEqual(206L, message[f("repeated_sint64"), 0]);
Assert.Equal(207U, message[f("repeated_fixed32"), 0]); Assert.AreEqual(207U, message[f("repeated_fixed32"), 0]);
Assert.Equal(208UL, message[f("repeated_fixed64"), 0]); Assert.AreEqual(208UL, message[f("repeated_fixed64"), 0]);
Assert.Equal(209, message[f("repeated_sfixed32"), 0]); Assert.AreEqual(209, message[f("repeated_sfixed32"), 0]);
Assert.Equal(210L, message[f("repeated_sfixed64"), 0]); Assert.AreEqual(210L, message[f("repeated_sfixed64"), 0]);
Assert.Equal(211F, message[f("repeated_float"), 0]); Assert.AreEqual(211F, message[f("repeated_float"), 0]);
Assert.Equal(212D, message[f("repeated_double"), 0]); Assert.AreEqual(212D, message[f("repeated_double"), 0]);
Assert.Equal(true, message[f("repeated_bool"), 0]); Assert.AreEqual(true, message[f("repeated_bool"), 0]);
Assert.Equal("215", message[f("repeated_string"), 0]); Assert.AreEqual("215", message[f("repeated_string"), 0]);
Assert.Equal(TestUtil.ToBytes("216"), message[f("repeated_bytes"), 0]); Assert.AreEqual(TestUtil.ToBytes("216"), message[f("repeated_bytes"), 0]);
Assert.Equal(217, ((IMessage) message[f("repeatedgroup"), 0])[repeatedGroupA]); Assert.AreEqual(217, ((IMessage) message[f("repeatedgroup"), 0])[repeatedGroupA]);
Assert.Equal(218, ((IMessage) message[f("repeated_nested_message"), 0])[nestedB]); Assert.AreEqual(218, ((IMessage) message[f("repeated_nested_message"), 0])[nestedB]);
Assert.Equal(219, ((IMessage) message[f("repeated_foreign_message"), 0])[foreignC]); Assert.AreEqual(219, ((IMessage) message[f("repeated_foreign_message"), 0])[foreignC]);
Assert.Equal(220, ((IMessage) message[f("repeated_import_message"), 0])[importD]); Assert.AreEqual(220, ((IMessage) message[f("repeated_import_message"), 0])[importD]);
Assert.Equal(nestedBar, message[f("repeated_nested_enum"), 0]); Assert.AreEqual(nestedBar, message[f("repeated_nested_enum"), 0]);
Assert.Equal(foreignBar, message[f("repeated_foreign_enum"), 0]); Assert.AreEqual(foreignBar, message[f("repeated_foreign_enum"), 0]);
Assert.Equal(importBar, message[f("repeated_import_enum"), 0]); Assert.AreEqual(importBar, message[f("repeated_import_enum"), 0]);
Assert.Equal("224", message[f("repeated_string_piece"), 0]); Assert.AreEqual("224", message[f("repeated_string_piece"), 0]);
Assert.Equal("225", message[f("repeated_cord"), 0]); Assert.AreEqual("225", message[f("repeated_cord"), 0]);
Assert.Equal(501, message[f("repeated_int32"), 1]); Assert.AreEqual(501, message[f("repeated_int32"), 1]);
Assert.Equal(502L, message[f("repeated_int64"), 1]); Assert.AreEqual(502L, message[f("repeated_int64"), 1]);
Assert.Equal(503U, message[f("repeated_uint32"), 1]); Assert.AreEqual(503U, message[f("repeated_uint32"), 1]);
Assert.Equal(504UL, message[f("repeated_uint64"), 1]); Assert.AreEqual(504UL, message[f("repeated_uint64"), 1]);
Assert.Equal(505, message[f("repeated_sint32"), 1]); Assert.AreEqual(505, message[f("repeated_sint32"), 1]);
Assert.Equal(506L, message[f("repeated_sint64"), 1]); Assert.AreEqual(506L, message[f("repeated_sint64"), 1]);
Assert.Equal(507U, message[f("repeated_fixed32"), 1]); Assert.AreEqual(507U, message[f("repeated_fixed32"), 1]);
Assert.Equal(508UL, message[f("repeated_fixed64"), 1]); Assert.AreEqual(508UL, message[f("repeated_fixed64"), 1]);
Assert.Equal(509, message[f("repeated_sfixed32"), 1]); Assert.AreEqual(509, message[f("repeated_sfixed32"), 1]);
Assert.Equal(510L, message[f("repeated_sfixed64"), 1]); Assert.AreEqual(510L, message[f("repeated_sfixed64"), 1]);
Assert.Equal(511F, message[f("repeated_float"), 1]); Assert.AreEqual(511F, message[f("repeated_float"), 1]);
Assert.Equal(512D, message[f("repeated_double"), 1]); Assert.AreEqual(512D, message[f("repeated_double"), 1]);
Assert.Equal(true, message[f("repeated_bool"), 1]); Assert.AreEqual(true, message[f("repeated_bool"), 1]);
Assert.Equal("515", message[f("repeated_string"), 1]); Assert.AreEqual("515", message[f("repeated_string"), 1]);
Assert.Equal(TestUtil.ToBytes("516"), message[f("repeated_bytes"), 1]); Assert.AreEqual(TestUtil.ToBytes("516"), message[f("repeated_bytes"), 1]);
Assert.Equal(517, ((IMessage) message[f("repeatedgroup"), 1])[repeatedGroupA]); Assert.AreEqual(517, ((IMessage) message[f("repeatedgroup"), 1])[repeatedGroupA]);
Assert.Equal(518, ((IMessage) message[f("repeated_nested_message"), 1])[nestedB]); Assert.AreEqual(518, ((IMessage) message[f("repeated_nested_message"), 1])[nestedB]);
Assert.Equal(519, ((IMessage) message[f("repeated_foreign_message"), 1])[foreignC]); Assert.AreEqual(519, ((IMessage) message[f("repeated_foreign_message"), 1])[foreignC]);
Assert.Equal(520, ((IMessage) message[f("repeated_import_message"), 1])[importD]); Assert.AreEqual(520, ((IMessage) message[f("repeated_import_message"), 1])[importD]);
Assert.Equal(nestedFoo, message[f("repeated_nested_enum"), 1]); Assert.AreEqual(nestedFoo, message[f("repeated_nested_enum"), 1]);
Assert.Equal(foreignFoo, message[f("repeated_foreign_enum"), 1]); Assert.AreEqual(foreignFoo, message[f("repeated_foreign_enum"), 1]);
Assert.Equal(importFoo, message[f("repeated_import_enum"), 1]); Assert.AreEqual(importFoo, message[f("repeated_import_enum"), 1]);
Assert.Equal("524", message[f("repeated_string_piece"), 1]); Assert.AreEqual("524", message[f("repeated_string_piece"), 1]);
Assert.Equal("525", message[f("repeated_cord"), 1]); Assert.AreEqual("525", message[f("repeated_cord"), 1]);
} }
/// <summary> /// <summary>
@ -955,50 +955,50 @@ namespace Google.ProtocolBuffers
public void AssertPackedFieldsSetViaReflection(IMessage message) public void AssertPackedFieldsSetViaReflection(IMessage message)
{ {
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_int32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_int32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_int64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_int64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_uint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_uint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_uint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_uint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_sint32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_sint32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_sint64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_sint64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_fixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_fixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_fixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_fixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_sfixed32"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_sfixed32")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_sfixed64"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_sfixed64")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_float"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_float")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_double"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_double")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_bool"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_bool")));
Assert.Equal(2, message.GetRepeatedFieldCount(f("packed_enum"))); Assert.AreEqual(2, message.GetRepeatedFieldCount(f("packed_enum")));
Assert.Equal(601, message[f("packed_int32"), 0]); Assert.AreEqual(601, message[f("packed_int32"), 0]);
Assert.Equal(602L, message[f("packed_int64"), 0]); Assert.AreEqual(602L, message[f("packed_int64"), 0]);
Assert.Equal(603u, message[f("packed_uint32"), 0]); Assert.AreEqual(603u, message[f("packed_uint32"), 0]);
Assert.Equal(604uL, message[f("packed_uint64"), 0]); Assert.AreEqual(604uL, message[f("packed_uint64"), 0]);
Assert.Equal(605, message[f("packed_sint32"), 0]); Assert.AreEqual(605, message[f("packed_sint32"), 0]);
Assert.Equal(606L, message[f("packed_sint64"), 0]); Assert.AreEqual(606L, message[f("packed_sint64"), 0]);
Assert.Equal(607u, message[f("packed_fixed32"), 0]); Assert.AreEqual(607u, message[f("packed_fixed32"), 0]);
Assert.Equal(608uL, message[f("packed_fixed64"), 0]); Assert.AreEqual(608uL, message[f("packed_fixed64"), 0]);
Assert.Equal(609, message[f("packed_sfixed32"), 0]); Assert.AreEqual(609, message[f("packed_sfixed32"), 0]);
Assert.Equal(610L, message[f("packed_sfixed64"), 0]); Assert.AreEqual(610L, message[f("packed_sfixed64"), 0]);
Assert.Equal(611F, message[f("packed_float"), 0]); Assert.AreEqual(611F, message[f("packed_float"), 0]);
Assert.Equal(612D, message[f("packed_double"), 0]); Assert.AreEqual(612D, message[f("packed_double"), 0]);
Assert.Equal(true, message[f("packed_bool"), 0]); Assert.AreEqual(true, message[f("packed_bool"), 0]);
Assert.Equal(foreignBar, message[f("packed_enum"), 0]); Assert.AreEqual(foreignBar, message[f("packed_enum"), 0]);
Assert.Equal(701, message[f("packed_int32"), 1]); Assert.AreEqual(701, message[f("packed_int32"), 1]);
Assert.Equal(702L, message[f("packed_int64"), 1]); Assert.AreEqual(702L, message[f("packed_int64"), 1]);
Assert.Equal(703u, message[f("packed_uint32"), 1]); Assert.AreEqual(703u, message[f("packed_uint32"), 1]);
Assert.Equal(704uL, message[f("packed_uint64"), 1]); Assert.AreEqual(704uL, message[f("packed_uint64"), 1]);
Assert.Equal(705, message[f("packed_sint32"), 1]); Assert.AreEqual(705, message[f("packed_sint32"), 1]);
Assert.Equal(706L, message[f("packed_sint64"), 1]); Assert.AreEqual(706L, message[f("packed_sint64"), 1]);
Assert.Equal(707u, message[f("packed_fixed32"), 1]); Assert.AreEqual(707u, message[f("packed_fixed32"), 1]);
Assert.Equal(708uL, message[f("packed_fixed64"), 1]); Assert.AreEqual(708uL, message[f("packed_fixed64"), 1]);
Assert.Equal(709, message[f("packed_sfixed32"), 1]); Assert.AreEqual(709, message[f("packed_sfixed32"), 1]);
Assert.Equal(710L, message[f("packed_sfixed64"), 1]); Assert.AreEqual(710L, message[f("packed_sfixed64"), 1]);
Assert.Equal(711F, message[f("packed_float"), 1]); Assert.AreEqual(711F, message[f("packed_float"), 1]);
Assert.Equal(712D, message[f("packed_double"), 1]); Assert.AreEqual(712D, message[f("packed_double"), 1]);
Assert.Equal(false, message[f("packed_bool"), 1]); Assert.AreEqual(false, message[f("packed_bool"), 1]);
Assert.Equal(foreignBaz, message[f("packed_enum"), 1]); Assert.AreEqual(foreignBaz, message[f("packed_enum"), 1]);
} }
} }
} }

@ -2,14 +2,14 @@
using Google.ProtocolBuffers.Collections; using Google.ProtocolBuffers.Collections;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using UnitTest.Issues.TestProtos; using UnitTest.Issues.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class ReusableBuilderTest public class ReusableBuilderTest
{ {
//Issue 28: Circular message dependencies result in null defaults for DefaultInstance //Issue 28: Circular message dependencies result in null defaults for DefaultInstance
[Fact] [Test]
public void EnsureStaticCicularReference() public void EnsureStaticCicularReference()
{ {
MyMessageAReferenceB ab = MyMessageAReferenceB.DefaultInstance; MyMessageAReferenceB ab = MyMessageAReferenceB.DefaultInstance;
@ -20,24 +20,24 @@ namespace Google.ProtocolBuffers
Assert.NotNull(ba.Value); Assert.NotNull(ba.Value);
} }
[Fact] [Test]
public void TestModifyDefaultInstance() public void TestModifyDefaultInstance()
{ {
//verify that the default instance has correctly been marked as read-only //verify that the default instance has correctly been marked as read-only
Assert.Equal(typeof(PopsicleList<bool>), TestAllTypes.DefaultInstance.RepeatedBoolList.GetType()); Assert.AreEqual(typeof(PopsicleList<bool>), TestAllTypes.DefaultInstance.RepeatedBoolList.GetType());
PopsicleList<bool> list = (PopsicleList<bool>)TestAllTypes.DefaultInstance.RepeatedBoolList; PopsicleList<bool> list = (PopsicleList<bool>)TestAllTypes.DefaultInstance.RepeatedBoolList;
Assert.True(list.IsReadOnly); Assert.IsTrue(list.IsReadOnly);
} }
[Fact] [Test]
public void TestUnmodifiedDefaultInstance() public void TestUnmodifiedDefaultInstance()
{ {
//Simply calling ToBuilder().Build() no longer creates a copy of the message //Simply calling ToBuilder().Build() no longer creates a copy of the message
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void BuildMultipleWithoutChange() public void BuildMultipleWithoutChange()
{ {
//Calling Build() or BuildPartial() does not require a copy of the message //Calling Build() or BuildPartial() does not require a copy of the message
@ -46,31 +46,31 @@ namespace Google.ProtocolBuffers
TestAllTypes first = builder.BuildPartial(); TestAllTypes first = builder.BuildPartial();
//Still the same instance? //Still the same instance?
Assert.True(ReferenceEquals(first, builder.Build())); Assert.IsTrue(ReferenceEquals(first, builder.Build()));
//Still the same instance? //Still the same instance?
Assert.True(ReferenceEquals(first, builder.BuildPartial().ToBuilder().Build())); Assert.IsTrue(ReferenceEquals(first, builder.BuildPartial().ToBuilder().Build()));
} }
[Fact] [Test]
public void MergeFromDefaultInstance() public void MergeFromDefaultInstance()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.MergeFrom(TestAllTypes.DefaultInstance); builder.MergeFrom(TestAllTypes.DefaultInstance);
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void BuildNewBuilderIsDefaultInstance() public void BuildNewBuilderIsDefaultInstance()
{ {
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, new TestAllTypes.Builder().Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, new TestAllTypes.Builder().Build()));
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().Build()));
//last test, if you clear a builder it reverts to default instance //last test, if you clear a builder it reverts to default instance
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance,
TestAllTypes.CreateBuilder().SetOptionalBool(true).Build().ToBuilder().Clear().Build())); TestAllTypes.CreateBuilder().SetOptionalBool(true).Build().ToBuilder().Clear().Build()));
} }
[Fact] [Test]
public void BuildModifyAndRebuild() public void BuildModifyAndRebuild()
{ {
TestAllTypes.Builder b1 = new TestAllTypes.Builder(); TestAllTypes.Builder b1 = new TestAllTypes.Builder();
@ -86,80 +86,80 @@ namespace Google.ProtocolBuffers
TestAllTypes m2 = b1.Build(); TestAllTypes m2 = b1.Build();
Assert.Equal("{\"optional_foreign_message\":{},\"repeated_int32\":[2],\"default_int32\":1}", Extensions.ToJson(m1)); Assert.AreEqual("{\"optional_foreign_message\":{},\"repeated_int32\":[2],\"default_int32\":1}", Extensions.ToJson(m1));
Assert.Equal("{\"optional_foreign_message\":{\"c\":7},\"repeated_int32\":[2,6],\"default_int32\":5}", Extensions.ToJson(m2)); Assert.AreEqual("{\"optional_foreign_message\":{\"c\":7},\"repeated_int32\":[2,6],\"default_int32\":5}", Extensions.ToJson(m2));
} }
[Fact] [Test]
public void CloneOnChangePrimitive() public void CloneOnChangePrimitive()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetDefaultBool(true); builder.SetDefaultBool(true);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnAddRepeatedBool() public void CloneOnAddRepeatedBool()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.AddRepeatedBool(true); builder.AddRepeatedBool(true);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnGetRepeatedBoolList() public void CloneOnGetRepeatedBoolList()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedBoolList); GC.KeepAlive(builder.RepeatedBoolList);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnChangeMessage() public void CloneOnChangeMessage()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetOptionalForeignMessage(new ForeignMessage.Builder()); builder.SetOptionalForeignMessage(new ForeignMessage.Builder());
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnClearMessage() public void CloneOnClearMessage()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.ClearOptionalForeignMessage(); builder.ClearOptionalForeignMessage();
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnGetRepeatedForeignMessageList() public void CloneOnGetRepeatedForeignMessageList()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedForeignMessageList); GC.KeepAlive(builder.RepeatedForeignMessageList);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnChangeEnumValue() public void CloneOnChangeEnumValue()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetOptionalForeignEnum(ForeignEnum.FOREIGN_BAR); builder.SetOptionalForeignEnum(ForeignEnum.FOREIGN_BAR);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Fact] [Test]
public void CloneOnGetRepeatedForeignEnumList() public void CloneOnGetRepeatedForeignEnumList()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedForeignEnumList); GC.KeepAlive(builder.RepeatedForeignEnumList);
Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
} }

@ -1,11 +1,11 @@
using UnitTest.Issues.TestProtos; using UnitTest.Issues.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class TestCornerCases public class TestCornerCases
{ {
[Fact] [Test]
public void TestRoundTripNegativeEnums() public void TestRoundTripNegativeEnums()
{ {
NegativeEnumMessage msg = NegativeEnumMessage.CreateBuilder() NegativeEnumMessage msg = NegativeEnumMessage.CreateBuilder()
@ -19,16 +19,16 @@ namespace Google.ProtocolBuffers
.AddPackedValues(NegativeEnum.FiveBelow) //10 .AddPackedValues(NegativeEnum.FiveBelow) //10
.Build(); .Build();
Assert.Equal(58, msg.SerializedSize); Assert.AreEqual(58, msg.SerializedSize);
byte[] bytes = new byte[58]; byte[] bytes = new byte[58];
CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
msg.WriteTo(output); msg.WriteTo(output);
Assert.Equal(0, output.SpaceLeft); Assert.AreEqual(0, output.SpaceLeft);
NegativeEnumMessage copy = NegativeEnumMessage.ParseFrom(bytes); NegativeEnumMessage copy = NegativeEnumMessage.ParseFrom(bytes);
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
} }
} }
} }

@ -5,7 +5,7 @@ using System.Text;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using Google.ProtocolBuffers.Serialization.Http; using Google.ProtocolBuffers.Serialization.Http;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -16,91 +16,91 @@ namespace Google.ProtocolBuffers
readonly IEnumerable<string> XmlTypes = new string[] { "text/xml", "application/xml" }; readonly IEnumerable<string> XmlTypes = new string[] { "text/xml", "application/xml" };
readonly IEnumerable<string> ProtobufTypes = new string[] { "application/binary", "application/x-protobuf", "application/vnd.google.protobuf" }; readonly IEnumerable<string> ProtobufTypes = new string[] { "application/binary", "application/x-protobuf", "application/vnd.google.protobuf" };
[Fact] [Test]
public void TestReadJsonMimeTypes() public void TestReadJsonMimeTypes()
{ {
foreach (string type in JsonTypes) foreach (string type in JsonTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null)
is JsonFormatReader); is JsonFormatReader);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null)
is JsonFormatReader); is JsonFormatReader);
} }
[Fact] [Test]
public void TestWriteJsonMimeTypes() public void TestWriteJsonMimeTypes()
{ {
foreach (string type in JsonTypes) foreach (string type in JsonTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null)
is JsonFormatWriter); is JsonFormatWriter);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/json" }, null, Stream.Null)
is JsonFormatWriter); is JsonFormatWriter);
} }
[Fact] [Test]
public void TestReadXmlMimeTypes() public void TestReadXmlMimeTypes()
{ {
foreach (string type in XmlTypes) foreach (string type in XmlTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null)
is XmlFormatReader); is XmlFormatReader);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null)
is XmlFormatReader); is XmlFormatReader);
} }
[Fact] [Test]
public void TestWriteXmlMimeTypes() public void TestWriteXmlMimeTypes()
{ {
foreach (string type in XmlTypes) foreach (string type in XmlTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null)
is XmlFormatWriter); is XmlFormatWriter);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/xml" }, null, Stream.Null)
is XmlFormatWriter); is XmlFormatWriter);
} }
[Fact] [Test]
public void TestReadProtoMimeTypes() public void TestReadProtoMimeTypes()
{ {
foreach (string type in ProtobufTypes) foreach (string type in ProtobufTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions(), type, Stream.Null)
is CodedInputStream); is CodedInputStream);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null) MessageFormatFactory.CreateInputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null)
is CodedInputStream); is CodedInputStream);
} }
[Fact] [Test]
public void TestWriteProtoMimeTypes() public void TestWriteProtoMimeTypes()
{ {
foreach (string type in ProtobufTypes) foreach (string type in ProtobufTypes)
{ {
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions(), type, Stream.Null)
is CodedOutputStream); is CodedOutputStream);
} }
Assert.True( Assert.IsTrue(
MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null) MessageFormatFactory.CreateOutputStream(new MessageFormatOptions() { DefaultContentType = "application/vnd.google.protobuf" }, null, Stream.Null)
is CodedOutputStream); is CodedOutputStream);
} }
[Fact] [Test]
public void TestMergeFromJsonType() public void TestMergeFromJsonType()
{ {
TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(),
@ -108,11 +108,11 @@ namespace Google.ProtocolBuffers
Extensions.ToJson(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) Extensions.ToJson(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build())
))) )))
.Build(); .Build();
Assert.Equal("a", msg.Text); Assert.AreEqual("a", msg.Text);
Assert.Equal(1, msg.Number); Assert.AreEqual(1, msg.Number);
} }
[Fact] [Test]
public void TestMergeFromXmlType() public void TestMergeFromXmlType()
{ {
TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(),
@ -120,10 +120,10 @@ namespace Google.ProtocolBuffers
Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build())
))) )))
.Build(); .Build();
Assert.Equal("a", msg.Text); Assert.AreEqual("a", msg.Text);
Assert.Equal(1, msg.Number); Assert.AreEqual(1, msg.Number);
} }
[Fact] [Test]
public void TestMergeFromProtoType() public void TestMergeFromProtoType()
{ {
TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(),
@ -131,30 +131,30 @@ namespace Google.ProtocolBuffers
TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build().ToByteArray() TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build().ToByteArray()
)) ))
.Build(); .Build();
Assert.Equal("a", msg.Text); Assert.AreEqual("a", msg.Text);
Assert.Equal(1, msg.Number); Assert.AreEqual(1, msg.Number);
} }
[Fact] [Test]
public void TestWriteToJsonType() public void TestWriteToJsonType()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(),
new MessageFormatOptions(), "application/json", ms); new MessageFormatOptions(), "application/json", ms);
Assert.Equal(@"{""text"":""a"",""number"":1}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); Assert.AreEqual(@"{""text"":""a"",""number"":1}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length));
} }
[Fact] [Test]
public void TestWriteToXmlType() public void TestWriteToXmlType()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(),
new MessageFormatOptions(), "application/xml", ms); new MessageFormatOptions(), "application/xml", ms);
Assert.Equal("<root><text>a</text><number>1</number></root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); Assert.AreEqual("<root><text>a</text><number>1</number></root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length));
} }
[Fact] [Test]
public void TestWriteToProtoType() public void TestWriteToProtoType()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
@ -162,10 +162,10 @@ namespace Google.ProtocolBuffers
new MessageFormatOptions(), "application/vnd.google.protobuf", ms); new MessageFormatOptions(), "application/vnd.google.protobuf", ms);
byte[] bytes = TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build().ToByteArray(); byte[] bytes = TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build().ToByteArray();
Assert.Equal(bytes, ms.ToArray()); Assert.AreEqual(bytes, ms.ToArray());
} }
[Fact] [Test]
public void TestXmlReaderOptions() public void TestXmlReaderOptions()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
@ -184,13 +184,13 @@ namespace Google.ProtocolBuffers
options, "application/xml", ms) options, "application/xml", ms)
.Build(); .Build();
Assert.Equal("a", msg.Text); Assert.AreEqual("a", msg.Text);
Assert.Equal(1, msg.NumbersList[0]); Assert.AreEqual(1, msg.NumbersList[0]);
Assert.Equal(2, msg.NumbersList[1]); Assert.AreEqual(2, msg.NumbersList[1]);
} }
[Fact] [Test]
public void TestXmlWriterOptions() public void TestXmlWriterOptions()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder().SetText("a").AddNumbers(1).AddNumbers(2).Build(); TestXmlMessage message = TestXmlMessage.CreateBuilder().SetText("a").AddNumbers(1).AddNumbers(2).Build();
@ -209,32 +209,32 @@ namespace Google.ProtocolBuffers
.SetOptions(XmlReaderOptions.ReadNestedArrays) .SetOptions(XmlReaderOptions.ReadNestedArrays)
.Merge("root-node", builder); .Merge("root-node", builder);
Assert.Equal("a", builder.Text); Assert.AreEqual("a", builder.Text);
Assert.Equal(1, builder.NumbersList[0]); Assert.AreEqual(1, builder.NumbersList[0]);
Assert.Equal(2, builder.NumbersList[1]); Assert.AreEqual(2, builder.NumbersList[1]);
} }
[Fact] [Test]
public void TestJsonFormatted() public void TestJsonFormatted()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(),
new MessageFormatOptions() { FormattedOutput = true }, "application/json", ms); new MessageFormatOptions() { FormattedOutput = true }, "application/json", ms);
Assert.Equal("{\r\n \"text\": \"a\",\r\n \"number\": 1\r\n}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); Assert.AreEqual("{\r\n \"text\": \"a\",\r\n \"number\": 1\r\n}", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length));
} }
[Fact] [Test]
public void TestXmlFormatted() public void TestXmlFormatted()
{ {
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(),
new MessageFormatOptions() { FormattedOutput = true }, "application/xml", ms); new MessageFormatOptions() { FormattedOutput = true }, "application/xml", ms);
Assert.Equal("<root>\r\n <text>a</text>\r\n <number>1</number>\r\n</root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); Assert.AreEqual("<root>\r\n <text>a</text>\r\n <number>1</number>\r\n</root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length));
} }
[Fact] [Test]
public void TestReadCustomMimeTypes() public void TestReadCustomMimeTypes()
{ {
var options = new MessageFormatOptions(); var options = new MessageFormatOptions();
@ -242,7 +242,7 @@ namespace Google.ProtocolBuffers
options.MimeInputTypes.Clear(); options.MimeInputTypes.Clear();
//Add our own //Add our own
options.MimeInputTypes.Add("-custom-XML-mime-type-", XmlFormatReader.CreateInstance); options.MimeInputTypes.Add("-custom-XML-mime-type-", XmlFormatReader.CreateInstance);
Assert.Equal(1, options.MimeInputTypes.Count); Assert.AreEqual(1, options.MimeInputTypes.Count);
Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes( Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(
Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build()) Extensions.ToXml(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build())
@ -251,11 +251,11 @@ namespace Google.ProtocolBuffers
TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(), TestXmlMessage msg = Extensions.MergeFrom(new TestXmlMessage.Builder(),
options, "-custom-XML-mime-type-", xmlStream) options, "-custom-XML-mime-type-", xmlStream)
.Build(); .Build();
Assert.Equal("a", msg.Text); Assert.AreEqual("a", msg.Text);
Assert.Equal(1, msg.Number); Assert.AreEqual(1, msg.Number);
} }
[Fact] [Test]
public void TestWriteToCustomType() public void TestWriteToCustomType()
{ {
var options = new MessageFormatOptions(); var options = new MessageFormatOptions();
@ -264,13 +264,13 @@ namespace Google.ProtocolBuffers
//Add our own //Add our own
options.MimeOutputTypes.Add("-custom-XML-mime-type-", XmlFormatWriter.CreateInstance); options.MimeOutputTypes.Add("-custom-XML-mime-type-", XmlFormatWriter.CreateInstance);
Assert.Equal(1, options.MimeOutputTypes.Count); Assert.AreEqual(1, options.MimeOutputTypes.Count);
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(), Extensions.WriteTo(TestXmlMessage.CreateBuilder().SetText("a").SetNumber(1).Build(),
options, "-custom-XML-mime-type-", ms); options, "-custom-XML-mime-type-", ms);
Assert.Equal("<root><text>a</text><number>1</number></root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length)); Assert.AreEqual("<root><text>a</text><number>1</number></root>", Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length));
} }
} }
} }

@ -3,13 +3,13 @@ using System.IO;
using System.Text; using System.Text;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Google.ProtocolBuffers.Serialization.Http; using Google.ProtocolBuffers.Serialization.Http;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class TestReaderForUrlEncoded public class TestReaderForUrlEncoded
{ {
[Fact] [Test]
public void Example_FromQueryString() public void Example_FromQueryString()
{ {
Uri sampleUri = new Uri("http://sample.com/Path/File.ext?text=two+three%20four&valid=true&numbers=1&numbers=2", UriKind.Absolute); Uri sampleUri = new Uri("http://sample.com/Path/File.ext?text=two+three%20four&valid=true&numbers=1&numbers=2", UriKind.Absolute);
@ -20,14 +20,14 @@ namespace Google.ProtocolBuffers
builder.MergeFrom(input); builder.MergeFrom(input);
TestXmlMessage message = builder.Build(); TestXmlMessage message = builder.Build();
Assert.Equal(true, message.Valid); Assert.AreEqual(true, message.Valid);
Assert.Equal("two three four", message.Text); Assert.AreEqual("two three four", message.Text);
Assert.Equal(2, message.NumbersCount); Assert.AreEqual(2, message.NumbersCount);
Assert.Equal(1, message.NumbersList[0]); Assert.AreEqual(1, message.NumbersList[0]);
Assert.Equal(2, message.NumbersList[1]); Assert.AreEqual(2, message.NumbersList[1]);
} }
[Fact] [Test]
public void Example_FromFormData() public void Example_FromFormData()
{ {
Stream rawPost = new MemoryStream(Encoding.UTF8.GetBytes("text=two+three%20four&valid=true&numbers=1&numbers=2"), false); Stream rawPost = new MemoryStream(Encoding.UTF8.GetBytes("text=two+three%20four&valid=true&numbers=1&numbers=2"), false);
@ -38,42 +38,42 @@ namespace Google.ProtocolBuffers
builder.MergeFrom(input); builder.MergeFrom(input);
TestXmlMessage message = builder.Build(); TestXmlMessage message = builder.Build();
Assert.Equal(true, message.Valid); Assert.AreEqual(true, message.Valid);
Assert.Equal("two three four", message.Text); Assert.AreEqual("two three four", message.Text);
Assert.Equal(2, message.NumbersCount); Assert.AreEqual(2, message.NumbersCount);
Assert.Equal(1, message.NumbersList[0]); Assert.AreEqual(1, message.NumbersList[0]);
Assert.Equal(2, message.NumbersList[1]); Assert.AreEqual(2, message.NumbersList[1]);
} }
[Fact] [Test]
public void TestEmptyValues() public void TestEmptyValues()
{ {
ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text=&numbers=1"); ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text=&numbers=1");
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
builder.MergeFrom(input); builder.MergeFrom(input);
Assert.True(builder.Valid); Assert.IsTrue(builder.Valid);
Assert.True(builder.HasText); Assert.IsTrue(builder.HasText);
Assert.Equal("", builder.Text); Assert.AreEqual("", builder.Text);
Assert.Equal(1, builder.NumbersCount); Assert.AreEqual(1, builder.NumbersCount);
Assert.Equal(1, builder.NumbersList[0]); Assert.AreEqual(1, builder.NumbersList[0]);
} }
[Fact] [Test]
public void TestNoValue() public void TestNoValue()
{ {
ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text&numbers=1"); ICodedInputStream input = FormUrlEncodedReader.CreateInstance("valid=true&text&numbers=1");
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
builder.MergeFrom(input); builder.MergeFrom(input);
Assert.True(builder.Valid); Assert.IsTrue(builder.Valid);
Assert.True(builder.HasText); Assert.IsTrue(builder.HasText);
Assert.Equal("", builder.Text); Assert.AreEqual("", builder.Text);
Assert.Equal(1, builder.NumbersCount); Assert.AreEqual(1, builder.NumbersCount);
Assert.Equal(1, builder.NumbersList[0]); Assert.AreEqual(1, builder.NumbersList[0]);
} }
[Fact] [Test]
public void FormUrlEncodedReaderDoesNotSupportChildren() public void FormUrlEncodedReaderDoesNotSupportChildren()
{ {
ICodedInputStream input = FormUrlEncodedReader.CreateInstance("child=uh0"); ICodedInputStream input = FormUrlEncodedReader.CreateInstance("child=uh0");

File diff suppressed because it is too large Load Diff

@ -6,13 +6,13 @@ using EnumOptions = Google.ProtocolBuffers.TestProtos.EnumOptions;
using Google.ProtocolBuffers.DescriptorProtos; using Google.ProtocolBuffers.DescriptorProtos;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class TestWriterFormatJson public class TestWriterFormatJson
{ {
[Fact] [Test]
public void Example_FromJson() public void Example_FromJson()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -21,10 +21,10 @@ namespace Google.ProtocolBuffers
Extensions.MergeFromJson(builder, @"{""valid"":true}"); Extensions.MergeFromJson(builder, @"{""valid"":true}");
TestXmlMessage message = builder.Build(); TestXmlMessage message = builder.Build();
Assert.Equal(true, message.Valid); Assert.AreEqual(true, message.Valid);
} }
[Fact] [Test]
public void Example_ToJson() public void Example_ToJson()
{ {
TestXmlMessage message = TestXmlMessage message =
@ -35,10 +35,10 @@ namespace Google.ProtocolBuffers
//3.5: string json = message.ToJson(); //3.5: string json = message.ToJson();
string json = Extensions.ToJson(message); string json = Extensions.ToJson(message);
Assert.Equal(@"{""valid"":true}", json); Assert.AreEqual(@"{""valid"":true}", json);
} }
[Fact] [Test]
public void Example_WriteJsonUsingICodedOutputStream() public void Example_WriteJsonUsingICodedOutputStream()
{ {
TestXmlMessage message = TestXmlMessage message =
@ -52,20 +52,20 @@ namespace Google.ProtocolBuffers
writer.WriteMessageStart(); //manually begin the message, output is '{' writer.WriteMessageStart(); //manually begin the message, output is '{'
writer.Flush(); writer.Flush();
Assert.Equal("{", output.ToString()); Assert.AreEqual("{", output.ToString());
ICodedOutputStream stream = writer; ICodedOutputStream stream = writer;
message.WriteTo(stream); //write the message normally message.WriteTo(stream); //write the message normally
writer.Flush(); writer.Flush();
Assert.Equal(@"{""valid"":true", output.ToString()); Assert.AreEqual(@"{""valid"":true", output.ToString());
writer.WriteMessageEnd(); //manually write the end message '}' writer.WriteMessageEnd(); //manually write the end message '}'
Assert.Equal(@"{""valid"":true}", output.ToString()); Assert.AreEqual(@"{""valid"":true}", output.ToString());
} }
} }
[Fact] [Test]
public void Example_ReadJsonUsingICodedInputStream() public void Example_ReadJsonUsingICodedInputStream()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -94,37 +94,37 @@ namespace Google.ProtocolBuffers
JsonFormatReader.CreateInstance(Content) JsonFormatReader.CreateInstance(Content)
.Merge(message.WeakCreateBuilderForType(), registry).WeakBuild(); .Merge(message.WeakCreateBuilderForType(), registry).WeakBuild();
Assert.Equal(typeof(TMessage), copy.GetType()); Assert.AreEqual(typeof(TMessage), copy.GetType());
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
foreach (string expect in expecting) foreach (string expect in expecting)
{ {
Assert.True(Content.IndexOf(expect) >= 0); Assert.IsTrue(Content.IndexOf(expect) >= 0);
} }
} }
[Fact] [Test]
public void TestToJsonParseFromJson() public void TestToJsonParseFromJson()
{ {
TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build();
string json = Extensions.ToJson(msg); string json = Extensions.ToJson(msg);
Assert.Equal("{\"default_bool\":true}", json); Assert.AreEqual("{\"default_bool\":true}", json);
TestAllTypes copy = Extensions.MergeFromJson(new TestAllTypes.Builder(), json).Build(); TestAllTypes copy = Extensions.MergeFromJson(new TestAllTypes.Builder(), json).Build();
Assert.True(copy.HasDefaultBool && copy.DefaultBool); Assert.IsTrue(copy.HasDefaultBool && copy.DefaultBool);
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
} }
[Fact] [Test]
public void TestToJsonParseFromJsonReader() public void TestToJsonParseFromJsonReader()
{ {
TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build();
string json = Extensions.ToJson(msg); string json = Extensions.ToJson(msg);
Assert.Equal("{\"default_bool\":true}", json); Assert.AreEqual("{\"default_bool\":true}", json);
TestAllTypes copy = Extensions.MergeFromJson(new TestAllTypes.Builder(), new StringReader(json)).Build(); TestAllTypes copy = Extensions.MergeFromJson(new TestAllTypes.Builder(), new StringReader(json)).Build();
Assert.True(copy.HasDefaultBool && copy.DefaultBool); Assert.IsTrue(copy.HasDefaultBool && copy.DefaultBool);
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
} }
[Fact] [Test]
public void TestJsonFormatted() public void TestJsonFormatted()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -144,10 +144,10 @@ namespace Google.ProtocolBuffers
TestXmlMessage copy = JsonFormatReader.CreateInstance(json) TestXmlMessage copy = JsonFormatReader.CreateInstance(json)
.Merge(TestXmlMessage.CreateBuilder()).Build(); .Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestEmptyMessage() public void TestEmptyMessage()
{ {
FormatterAssert( FormatterAssert(
@ -157,7 +157,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestRepeatedField() public void TestRepeatedField()
{ {
FormatterAssert( FormatterAssert(
@ -169,7 +169,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestNestedEmptyMessage() public void TestNestedEmptyMessage()
{ {
FormatterAssert( FormatterAssert(
@ -180,7 +180,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestNestedMessage() public void TestNestedMessage()
{ {
FormatterAssert( FormatterAssert(
@ -191,7 +191,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestBooleanTypes() public void TestBooleanTypes()
{ {
FormatterAssert( FormatterAssert(
@ -202,7 +202,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestFullMessage() public void TestFullMessage()
{ {
FormatterAssert( FormatterAssert(
@ -232,7 +232,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestMessageWithXmlText() public void TestMessageWithXmlText()
{ {
FormatterAssert( FormatterAssert(
@ -243,7 +243,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestWithEscapeChars() public void TestWithEscapeChars()
{ {
FormatterAssert( FormatterAssert(
@ -254,7 +254,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestWithExtensionText() public void TestWithExtensionText()
{ {
FormatterAssert( FormatterAssert(
@ -266,7 +266,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestWithExtensionNumber() public void TestWithExtensionNumber()
{ {
FormatterAssert( FormatterAssert(
@ -278,7 +278,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestWithExtensionArray() public void TestWithExtensionArray()
{ {
FormatterAssert( FormatterAssert(
@ -291,7 +291,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestWithExtensionEnum() public void TestWithExtensionEnum()
{ {
FormatterAssert( FormatterAssert(
@ -302,7 +302,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestMessageWithExtensions() public void TestMessageWithExtensions()
{ {
FormatterAssert( FormatterAssert(
@ -325,7 +325,7 @@ namespace Google.ProtocolBuffers
); );
} }
[Fact] [Test]
public void TestMessageMissingExtensions() public void TestMessageMissingExtensions()
{ {
TestXmlMessage original = TestXmlMessage.CreateBuilder() TestXmlMessage original = TestXmlMessage.CreateBuilder()
@ -353,23 +353,23 @@ namespace Google.ProtocolBuffers
IMessageLite copy = JsonFormatReader.CreateInstance(Content) IMessageLite copy = JsonFormatReader.CreateInstance(Content)
.Merge(message.CreateBuilderForType()).Build(); .Merge(message.CreateBuilderForType()).Build();
Assert.NotEqual(original, message); Assert.AreNotEqual(original, message);
Assert.NotEqual(original, copy); Assert.AreNotEqual(original, copy);
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestMergeFields() public void TestMergeFields()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
builder.MergeFrom(JsonFormatReader.CreateInstance("\"valid\": true")); builder.MergeFrom(JsonFormatReader.CreateInstance("\"valid\": true"));
builder.MergeFrom(JsonFormatReader.CreateInstance("\"text\": \"text\", \"number\": \"411\"")); builder.MergeFrom(JsonFormatReader.CreateInstance("\"text\": \"text\", \"number\": \"411\""));
Assert.Equal(true, builder.Valid); Assert.AreEqual(true, builder.Valid);
Assert.Equal("text", builder.Text); Assert.AreEqual("text", builder.Text);
Assert.Equal(411, builder.Number); Assert.AreEqual(411, builder.Number);
} }
[Fact] [Test]
public void TestMessageArray() public void TestMessageArray()
{ {
JsonFormatWriter writer = JsonFormatWriter.CreateInstance().Formatted(); JsonFormatWriter writer = JsonFormatWriter.CreateInstance().Formatted();
@ -388,13 +388,13 @@ namespace Google.ProtocolBuffers
foreach (JsonFormatReader r in reader.EnumerateArray()) foreach (JsonFormatReader r in reader.EnumerateArray())
{ {
r.Merge(builder); r.Merge(builder);
Assert.Equal(++ordinal, builder.Number); Assert.AreEqual(++ordinal, builder.Number);
} }
Assert.Equal(3, ordinal); Assert.AreEqual(3, ordinal);
Assert.Equal(3, builder.TextlinesCount); Assert.AreEqual(3, builder.TextlinesCount);
} }
[Fact] [Test]
public void TestNestedMessageArray() public void TestNestedMessageArray()
{ {
JsonFormatWriter writer = JsonFormatWriter.CreateInstance(); JsonFormatWriter writer = JsonFormatWriter.CreateInstance();
@ -418,13 +418,13 @@ namespace Google.ProtocolBuffers
foreach (JsonFormatReader r2 in r.EnumerateArray()) foreach (JsonFormatReader r2 in r.EnumerateArray())
{ {
r2.Merge(builder); r2.Merge(builder);
Assert.Equal(++ordinal, builder.Number); Assert.AreEqual(++ordinal, builder.Number);
} }
Assert.Equal(3, ordinal); Assert.AreEqual(3, ordinal);
Assert.Equal(3, builder.TextlinesCount); Assert.AreEqual(3, builder.TextlinesCount);
} }
[Fact] [Test]
public void TestReadWriteJsonWithoutRoot() public void TestReadWriteJsonWithoutRoot()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -439,15 +439,15 @@ namespace Google.ProtocolBuffers
output.Flush(); output.Flush();
Json = sw.ToString(); Json = sw.ToString();
} }
Assert.Equal(@"""text"":""abc"",""number"":123", Json); Assert.AreEqual(@"""text"":""abc"",""number"":123", Json);
ICodedInputStream input = JsonFormatReader.CreateInstance(Json); ICodedInputStream input = JsonFormatReader.CreateInstance(Json);
TestXmlMessage copy = TestXmlMessage.CreateBuilder().MergeFrom(input).Build(); TestXmlMessage copy = TestXmlMessage.CreateBuilder().MergeFrom(input).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestRecursiveLimit() public void TestRecursiveLimit()
{ {
StringBuilder sb = new StringBuilder(8192); StringBuilder sb = new StringBuilder(8192);
@ -458,32 +458,32 @@ namespace Google.ProtocolBuffers
Assert.Throws<RecursionLimitExceededException>(() => Extensions.MergeFromJson(new TestXmlRescursive.Builder(), sb.ToString()).Build()); Assert.Throws<RecursionLimitExceededException>(() => Extensions.MergeFromJson(new TestXmlRescursive.Builder(), sb.ToString()).Build());
} }
[Fact] [Test]
public void FailWithEmptyText() public void FailWithEmptyText()
{ {
Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("").Merge(TestXmlMessage.CreateBuilder())); Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("").Merge(TestXmlMessage.CreateBuilder()));
} }
[Fact] [Test]
public void FailWithUnexpectedValue() public void FailWithUnexpectedValue()
{ {
Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{{}}").Merge(TestXmlMessage.CreateBuilder())); Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{{}}").Merge(TestXmlMessage.CreateBuilder()));
} }
[Fact] [Test]
public void FailWithUnQuotedName() public void FailWithUnQuotedName()
{ {
Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{name:{}}").Merge(TestXmlMessage.CreateBuilder())); Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{name:{}}").Merge(TestXmlMessage.CreateBuilder()));
} }
[Fact] [Test]
public void FailWithUnexpectedType() public void FailWithUnexpectedType()
{ {
Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{\"valid\":{}}").Merge(TestXmlMessage.CreateBuilder())); Assert.Throws<FormatException>(() => JsonFormatReader.CreateInstance("{\"valid\":{}}").Merge(TestXmlMessage.CreateBuilder()));
} }
// See issue 64 for background. // See issue 64 for background.
[Fact] [Test]
public void ToJsonRequiringBufferExpansion() public void ToJsonRequiringBufferExpansion()
{ {
string s = new string('.', 4086); string s = new string('.', 4086);

@ -4,13 +4,13 @@ using System.Text;
using System.Xml; using System.Xml;
using Google.ProtocolBuffers.Serialization; using Google.ProtocolBuffers.Serialization;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class TestWriterFormatXml public class TestWriterFormatXml
{ {
[Fact] [Test]
public void Example_FromXml() public void Example_FromXml()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -20,10 +20,10 @@ namespace Google.ProtocolBuffers
Extensions.MergeFromXml(builder, rdr); Extensions.MergeFromXml(builder, rdr);
TestXmlMessage message = builder.Build(); TestXmlMessage message = builder.Build();
Assert.Equal(true, message.Valid); Assert.AreEqual(true, message.Valid);
} }
[Fact] [Test]
public void Example_ToXml() public void Example_ToXml()
{ {
TestXmlMessage message = TestXmlMessage message =
@ -34,10 +34,10 @@ namespace Google.ProtocolBuffers
//3.5: string Xml = message.ToXml(); //3.5: string Xml = message.ToXml();
string Xml = Extensions.ToXml(message); string Xml = Extensions.ToXml(message);
Assert.Equal(@"<root><valid>true</valid></root>", Xml); Assert.AreEqual(@"<root><valid>true</valid></root>", Xml);
} }
[Fact] [Test]
public void Example_WriteXmlUsingICodedOutputStream() public void Example_WriteXmlUsingICodedOutputStream()
{ {
TestXmlMessage message = TestXmlMessage message =
@ -54,11 +54,11 @@ namespace Google.ProtocolBuffers
message.WriteTo(stream); //write the message normally message.WriteTo(stream); //write the message normally
writer.WriteMessageEnd(); //manually write the end message '}' writer.WriteMessageEnd(); //manually write the end message '}'
Assert.Equal(@"<root><valid>true</valid></root>", output.ToString()); Assert.AreEqual(@"<root><valid>true</valid></root>", output.ToString());
} }
} }
[Fact] [Test]
public void Example_ReadXmlUsingICodedInputStream() public void Example_ReadXmlUsingICodedInputStream()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -71,29 +71,29 @@ namespace Google.ProtocolBuffers
reader.ReadMessageEnd(); //manually read the end message '}' reader.ReadMessageEnd(); //manually read the end message '}'
} }
[Fact] [Test]
public void TestToXmlParseFromXml() public void TestToXmlParseFromXml()
{ {
TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build();
string xml = Extensions.ToXml(msg); string xml = Extensions.ToXml(msg);
Assert.Equal("<root><default_bool>true</default_bool></root>", xml); Assert.AreEqual("<root><default_bool>true</default_bool></root>", xml);
TestAllTypes copy = Extensions.MergeFromXml(new TestAllTypes.Builder(), XmlReader.Create(new StringReader(xml))).Build(); TestAllTypes copy = Extensions.MergeFromXml(new TestAllTypes.Builder(), XmlReader.Create(new StringReader(xml))).Build();
Assert.True(copy.HasDefaultBool && copy.DefaultBool); Assert.IsTrue(copy.HasDefaultBool && copy.DefaultBool);
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
} }
[Fact] [Test]
public void TestToXmlParseFromXmlWithRootName() public void TestToXmlParseFromXmlWithRootName()
{ {
TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build(); TestAllTypes msg = new TestAllTypes.Builder().SetDefaultBool(true).Build();
string xml = Extensions.ToXml(msg, "message"); string xml = Extensions.ToXml(msg, "message");
Assert.Equal("<message><default_bool>true</default_bool></message>", xml); Assert.AreEqual("<message><default_bool>true</default_bool></message>", xml);
TestAllTypes copy = Extensions.MergeFromXml(new TestAllTypes.Builder(), "message", XmlReader.Create(new StringReader(xml))).Build(); TestAllTypes copy = Extensions.MergeFromXml(new TestAllTypes.Builder(), "message", XmlReader.Create(new StringReader(xml))).Build();
Assert.True(copy.HasDefaultBool && copy.DefaultBool); Assert.IsTrue(copy.HasDefaultBool && copy.DefaultBool);
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
} }
[Fact] [Test]
public void TestEmptyMessage() public void TestEmptyMessage()
{ {
TestXmlChild message = TestXmlChild.CreateBuilder() TestXmlChild message = TestXmlChild.CreateBuilder()
@ -111,9 +111,9 @@ namespace Google.ProtocolBuffers
string xml = sw.ToString(); string xml = sw.ToString();
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build(); TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestRepeatedField() public void TestRepeatedField()
{ {
TestXmlChild message = TestXmlChild.CreateBuilder() TestXmlChild message = TestXmlChild.CreateBuilder()
@ -128,10 +128,10 @@ namespace Google.ProtocolBuffers
string xml = sw.ToString(); string xml = sw.ToString();
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build(); TestXmlChild copy = rdr.Merge(TestXmlChild.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestNestedEmptyMessage() public void TestNestedEmptyMessage()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -144,10 +144,10 @@ namespace Google.ProtocolBuffers
string xml = sw.ToString(); string xml = sw.ToString();
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestNestedMessage() public void TestNestedMessage()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -160,10 +160,10 @@ namespace Google.ProtocolBuffers
string xml = sw.ToString(); string xml = sw.ToString();
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestBooleanTypes() public void TestBooleanTypes()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -176,10 +176,10 @@ namespace Google.ProtocolBuffers
string xml = sw.ToString(); string xml = sw.ToString();
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestFullMessage() public void TestFullMessage()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -206,10 +206,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestFullMessageWithRichTypes() public void TestFullMessageWithRichTypes()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -239,10 +239,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
rdr.Options = XmlReaderOptions.ReadNestedArrays; rdr.Options = XmlReaderOptions.ReadNestedArrays;
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestFullMessageWithUnknownFields() public void TestFullMessageWithUnknownFields()
{ {
TestXmlMessage origial = TestXmlMessage.CreateBuilder() TestXmlMessage origial = TestXmlMessage.CreateBuilder()
@ -261,7 +261,7 @@ namespace Google.ProtocolBuffers
.Build(); .Build();
TestXmlNoFields message = TestXmlNoFields.CreateBuilder().MergeFrom(origial.ToByteArray()).Build(); TestXmlNoFields message = TestXmlNoFields.CreateBuilder().MergeFrom(origial.ToByteArray()).Build();
Assert.Equal(0, message.AllFields.Count); Assert.AreEqual(0, message.AllFields.Count);
StringWriter sw = new StringWriter(); StringWriter sw = new StringWriter();
XmlFormatWriter.CreateInstance(sw) XmlFormatWriter.CreateInstance(sw)
@ -273,9 +273,9 @@ namespace Google.ProtocolBuffers
using (XmlReader x = XmlReader.Create(new StringReader(xml))) using (XmlReader x = XmlReader.Create(new StringReader(xml)))
{ {
x.MoveToContent(); x.MoveToContent();
Assert.Equal(XmlNodeType.Element, x.NodeType); Assert.AreEqual(XmlNodeType.Element, x.NodeType);
//should always be empty //should always be empty
Assert.True(x.IsEmptyElement || Assert.IsTrue(x.IsEmptyElement ||
(x.Read() && x.NodeType == XmlNodeType.EndElement) (x.Read() && x.NodeType == XmlNodeType.EndElement)
); );
} }
@ -283,10 +283,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
rdr.Options = XmlReaderOptions.ReadNestedArrays; rdr.Options = XmlReaderOptions.ReadNestedArrays;
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(TestXmlMessage.DefaultInstance, copy); Assert.AreEqual(TestXmlMessage.DefaultInstance, copy);
} }
[Fact] [Test]
public void TestMessageWithXmlText() public void TestMessageWithXmlText()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -299,10 +299,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlWithWhitespace() public void TestXmlWithWhitespace()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -315,10 +315,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder()).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlWithExtensionText() public void TestXmlWithExtensionText()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -335,10 +335,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlWithExtensionMessage() public void TestXmlWithExtensionMessage()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -355,10 +355,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlWithExtensionArray() public void TestXmlWithExtensionArray()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -377,10 +377,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlWithExtensionEnum() public void TestXmlWithExtensionEnum()
{ {
TestXmlMessage message = TestXmlMessage.CreateBuilder() TestXmlMessage message = TestXmlMessage.CreateBuilder()
@ -397,10 +397,10 @@ namespace Google.ProtocolBuffers
XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml); XmlFormatReader rdr = XmlFormatReader.CreateInstance(xml);
TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build(); TestXmlMessage copy = rdr.Merge(TestXmlMessage.CreateBuilder(), registry).Build();
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestXmlReadEmptyRoot() public void TestXmlReadEmptyRoot()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -413,7 +413,7 @@ namespace Google.ProtocolBuffers
reader.ReadMessageEnd(); //manually read the end message '}' reader.ReadMessageEnd(); //manually read the end message '}'
} }
[Fact] [Test]
public void TestXmlReadEmptyChild() public void TestXmlReadEmptyChild()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -422,11 +422,11 @@ namespace Google.ProtocolBuffers
reader.ReadMessageStart(); //manually read the begin the message '{' reader.ReadMessageStart(); //manually read the begin the message '{'
builder.MergeFrom(reader); //write the message normally builder.MergeFrom(reader); //write the message normally
Assert.True(builder.HasText); Assert.IsTrue(builder.HasText);
Assert.Equal(String.Empty, builder.Text); Assert.AreEqual(String.Empty, builder.Text);
} }
[Fact] [Test]
public void TestXmlReadWriteWithoutRoot() public void TestXmlReadWriteWithoutRoot()
{ {
TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder(); TestXmlMessage.Builder builder = TestXmlMessage.CreateBuilder();
@ -442,7 +442,7 @@ namespace Google.ProtocolBuffers
output.Flush(); output.Flush();
xml = sw.ToString(); xml = sw.ToString();
} }
Assert.Equal("<text>abc</text><number>123</number>", xml); Assert.AreEqual("<text>abc</text><number>123</number>", xml);
TestXmlMessage copy; TestXmlMessage copy;
using (XmlReader xr = XmlReader.Create(new StringReader(xml), new XmlReaderSettings() { ConformanceLevel = ConformanceLevel.Fragment })) using (XmlReader xr = XmlReader.Create(new StringReader(xml), new XmlReaderSettings() { ConformanceLevel = ConformanceLevel.Fragment }))
@ -451,10 +451,10 @@ namespace Google.ProtocolBuffers
copy = TestXmlMessage.CreateBuilder().MergeFrom(input).Build(); copy = TestXmlMessage.CreateBuilder().MergeFrom(input).Build();
} }
Assert.Equal(message, copy); Assert.AreEqual(message, copy);
} }
[Fact] [Test]
public void TestRecursiveLimit() public void TestRecursiveLimit()
{ {
StringBuilder sb = new StringBuilder(8192); StringBuilder sb = new StringBuilder(8192);

@ -37,7 +37,7 @@
using System; using System;
using System.IO; using System.IO;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -84,13 +84,13 @@ namespace Google.ProtocolBuffers
/// <summary> /// <summary>
/// Print TestAllTypes and compare with golden file. /// Print TestAllTypes and compare with golden file.
/// </summary> /// </summary>
[Fact] [Test]
public void PrintMessage() public void PrintMessage()
{ {
TestUtil.TestInMultipleCultures(() => TestUtil.TestInMultipleCultures(() =>
{ {
string text = TextFormat.PrintToString(TestUtil.GetAllSet()); string text = TextFormat.PrintToString(TestUtil.GetAllSet());
Assert.Equal(AllFieldsSetText.Replace("\r\n", "\n").Trim(), Assert.AreEqual(AllFieldsSetText.Replace("\r\n", "\n").Trim(),
text.Replace("\r\n", "\n").Trim()); text.Replace("\r\n", "\n").Trim());
}); });
} }
@ -98,32 +98,32 @@ namespace Google.ProtocolBuffers
/// <summary> /// <summary>
/// Tests that a builder prints the same way as a message. /// Tests that a builder prints the same way as a message.
/// </summary> /// </summary>
[Fact] [Test]
public void PrintBuilder() public void PrintBuilder()
{ {
TestUtil.TestInMultipleCultures(() => TestUtil.TestInMultipleCultures(() =>
{ {
string messageText = TextFormat.PrintToString(TestUtil.GetAllSet()); string messageText = TextFormat.PrintToString(TestUtil.GetAllSet());
string builderText = TextFormat.PrintToString(TestUtil.GetAllSet().ToBuilder()); string builderText = TextFormat.PrintToString(TestUtil.GetAllSet().ToBuilder());
Assert.Equal(messageText, builderText); Assert.AreEqual(messageText, builderText);
}); });
} }
/// <summary> /// <summary>
/// Print TestAllExtensions and compare with golden file. /// Print TestAllExtensions and compare with golden file.
/// </summary> /// </summary>
[Fact] [Test]
public void PrintExtensions() public void PrintExtensions()
{ {
string text = TextFormat.PrintToString(TestUtil.GetAllExtensionsSet()); string text = TextFormat.PrintToString(TestUtil.GetAllExtensionsSet());
Assert.Equal(AllExtensionsSetText.Replace("\r\n", "\n").Trim(), text.Replace("\r\n", "\n").Trim()); Assert.AreEqual(AllExtensionsSetText.Replace("\r\n", "\n").Trim(), text.Replace("\r\n", "\n").Trim());
} }
/// <summary> /// <summary>
/// Test printing of unknown fields in a message. /// Test printing of unknown fields in a message.
/// </summary> /// </summary>
[Fact] [Test]
public void PrintUnknownFields() public void PrintUnknownFields()
{ {
TestEmptyMessage message = TestEmptyMessage message =
@ -159,7 +159,7 @@ namespace Google.ProtocolBuffers
.Build()) .Build())
.Build(); .Build();
Assert.Equal( Assert.AreEqual(
"5: 1\n" + "5: 1\n" +
"5: 0x00000002\n" + "5: 0x00000002\n" +
"5: 0x0000000000000003\n" + "5: 0x0000000000000003\n" +
@ -189,7 +189,7 @@ namespace Google.ProtocolBuffers
return ByteString.CopyFrom(bytes); return ByteString.CopyFrom(bytes);
} }
[Fact] [Test]
public void PrintExotic() public void PrintExotic()
{ {
IMessage message = TestAllTypes.CreateBuilder() IMessage message = TestAllTypes.CreateBuilder()
@ -220,10 +220,10 @@ namespace Google.ProtocolBuffers
.AddRepeatedBytes(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\"\u00fe")) .AddRepeatedBytes(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\"\u00fe"))
.Build(); .Build();
Assert.Equal(ExoticText, message.ToString()); Assert.AreEqual(ExoticText, message.ToString());
} }
[Fact] [Test]
public void PrintMessageSet() public void PrintMessageSet()
{ {
TestMessageSet messageSet = TestMessageSet messageSet =
@ -236,12 +236,12 @@ namespace Google.ProtocolBuffers
TestMessageSetExtension2.CreateBuilder().SetStr("foo").Build()) TestMessageSetExtension2.CreateBuilder().SetStr("foo").Build())
.Build(); .Build();
Assert.Equal(MessageSetText, messageSet.ToString()); Assert.AreEqual(MessageSetText, messageSet.ToString());
} }
// ================================================================= // =================================================================
[Fact] [Test]
public void Parse() public void Parse()
{ {
TestUtil.TestInMultipleCultures(() => TestUtil.TestInMultipleCultures(() =>
@ -252,7 +252,7 @@ namespace Google.ProtocolBuffers
}); });
} }
[Fact] [Test]
public void ParseReader() public void ParseReader()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -260,7 +260,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllFieldsSet(builder.Build()); TestUtil.AssertAllFieldsSet(builder.Build());
} }
[Fact] [Test]
public void ParseExtensions() public void ParseExtensions()
{ {
TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder(); TestAllExtensions.Builder builder = TestAllExtensions.CreateBuilder();
@ -270,7 +270,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllExtensionsSet(builder.Build()); TestUtil.AssertAllExtensionsSet(builder.Build());
} }
[Fact] [Test]
public void ParseCompatibility() public void ParseCompatibility()
{ {
string original = "repeated_float: inf\n" + string original = "repeated_float: inf\n" +
@ -299,10 +299,10 @@ namespace Google.ProtocolBuffers
"repeated_double: NaN\n"; "repeated_double: NaN\n";
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
TextFormat.Merge(original, builder); TextFormat.Merge(original, builder);
Assert.Equal(canonical, builder.Build().ToString()); Assert.AreEqual(canonical, builder.Build().ToString());
} }
[Fact] [Test]
public void ParseExotic() public void ParseExotic()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -310,10 +310,10 @@ namespace Google.ProtocolBuffers
// Too lazy to check things individually. Don't try to debug this // Too lazy to check things individually. Don't try to debug this
// if testPrintExotic() is Assert.Failing. // if testPrintExotic() is Assert.Failing.
Assert.Equal(ExoticText, builder.Build().ToString()); Assert.AreEqual(ExoticText, builder.Build().ToString());
} }
[Fact] [Test]
public void ParseMessageSet() public void ParseMessageSet()
{ {
ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance(); ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance();
@ -324,30 +324,30 @@ namespace Google.ProtocolBuffers
TextFormat.Merge(MessageSetText, extensionRegistry, builder); TextFormat.Merge(MessageSetText, extensionRegistry, builder);
TestMessageSet messageSet = builder.Build(); TestMessageSet messageSet = builder.Build();
Assert.True(messageSet.HasExtension(TestMessageSetExtension1.MessageSetExtension)); Assert.IsTrue(messageSet.HasExtension(TestMessageSetExtension1.MessageSetExtension));
Assert.Equal(123, messageSet.GetExtension(TestMessageSetExtension1.MessageSetExtension).I); Assert.AreEqual(123, messageSet.GetExtension(TestMessageSetExtension1.MessageSetExtension).I);
Assert.True(messageSet.HasExtension(TestMessageSetExtension2.MessageSetExtension)); Assert.IsTrue(messageSet.HasExtension(TestMessageSetExtension2.MessageSetExtension));
Assert.Equal("foo", messageSet.GetExtension(TestMessageSetExtension2.MessageSetExtension).Str); Assert.AreEqual("foo", messageSet.GetExtension(TestMessageSetExtension2.MessageSetExtension).Str);
} }
[Fact] [Test]
public void ParseNumericEnum() public void ParseNumericEnum()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
TextFormat.Merge("optional_nested_enum: 2", builder); TextFormat.Merge("optional_nested_enum: 2", builder);
Assert.Equal(TestAllTypes.Types.NestedEnum.BAR, builder.OptionalNestedEnum); Assert.AreEqual(TestAllTypes.Types.NestedEnum.BAR, builder.OptionalNestedEnum);
} }
[Fact] [Test]
public void ParseAngleBrackets() public void ParseAngleBrackets()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
TextFormat.Merge("OptionalGroup: < a: 1 >", builder); TextFormat.Merge("OptionalGroup: < a: 1 >", builder);
Assert.True(builder.HasOptionalGroup); Assert.IsTrue(builder.HasOptionalGroup);
Assert.Equal(1, builder.OptionalGroup.A); Assert.AreEqual(1, builder.OptionalGroup.A);
} }
[Fact] [Test]
public void ParseComment() public void ParseComment()
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
@ -356,8 +356,8 @@ namespace Google.ProtocolBuffers
"optional_int32: 1 # another comment\n" + "optional_int32: 1 # another comment\n" +
"optional_int64: 2\n" + "optional_int64: 2\n" +
"# EOF comment", builder); "# EOF comment", builder);
Assert.Equal(1, builder.OptionalInt32); Assert.AreEqual(1, builder.OptionalInt32);
Assert.Equal(2, builder.OptionalInt64); Assert.AreEqual(2, builder.OptionalInt64);
} }
@ -365,10 +365,10 @@ namespace Google.ProtocolBuffers
{ {
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
Exception exception = Assert.Throws<FormatException>(() => TextFormat.Merge(text, TestUtil.CreateExtensionRegistry(), builder)); Exception exception = Assert.Throws<FormatException>(() => TextFormat.Merge(text, TestUtil.CreateExtensionRegistry(), builder));
Assert.Equal(error, exception.Message); Assert.AreEqual(error, exception.Message);
} }
[Fact] [Test]
public void ParseErrors() public void ParseErrors()
{ {
AssertParseError( AssertParseError(
@ -443,26 +443,26 @@ namespace Google.ProtocolBuffers
return ByteString.CopyFrom(bytes); return ByteString.CopyFrom(bytes);
} }
[Fact] [Test]
public void Escape() public void Escape()
{ {
// Escape sequences. // Escape sequences.
Assert.Equal("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"", Assert.AreEqual("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"",
TextFormat.EscapeBytes(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\""))); TextFormat.EscapeBytes(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\"")));
Assert.Equal("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"", Assert.AreEqual("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"",
TextFormat.EscapeText("\0\u0001\u0007\b\f\n\r\t\v\\\'\"")); TextFormat.EscapeText("\0\u0001\u0007\b\f\n\r\t\v\\\'\""));
Assert.Equal(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\""), Assert.AreEqual(Bytes("\0\u0001\u0007\b\f\n\r\t\v\\\'\""),
TextFormat.UnescapeBytes("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"")); TextFormat.UnescapeBytes("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\""));
Assert.Equal("\0\u0001\u0007\b\f\n\r\t\v\\\'\"", Assert.AreEqual("\0\u0001\u0007\b\f\n\r\t\v\\\'\"",
TextFormat.UnescapeText("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\"")); TextFormat.UnescapeText("\\000\\001\\a\\b\\f\\n\\r\\t\\v\\\\\\'\\\""));
// Unicode handling. // Unicode handling.
Assert.Equal("\\341\\210\\264", TextFormat.EscapeText("\u1234")); Assert.AreEqual("\\341\\210\\264", TextFormat.EscapeText("\u1234"));
Assert.Equal("\\341\\210\\264", TextFormat.EscapeBytes(Bytes(0xe1, 0x88, 0xb4))); Assert.AreEqual("\\341\\210\\264", TextFormat.EscapeBytes(Bytes(0xe1, 0x88, 0xb4)));
Assert.Equal("\u1234", TextFormat.UnescapeText("\\341\\210\\264")); Assert.AreEqual("\u1234", TextFormat.UnescapeText("\\341\\210\\264"));
Assert.Equal(Bytes(0xe1, 0x88, 0xb4), TextFormat.UnescapeBytes("\\341\\210\\264")); Assert.AreEqual(Bytes(0xe1, 0x88, 0xb4), TextFormat.UnescapeBytes("\\341\\210\\264"));
Assert.Equal("\u1234", TextFormat.UnescapeText("\\xe1\\x88\\xb4")); Assert.AreEqual("\u1234", TextFormat.UnescapeText("\\xe1\\x88\\xb4"));
Assert.Equal(Bytes(0xe1, 0x88, 0xb4), TextFormat.UnescapeBytes("\\xe1\\x88\\xb4")); Assert.AreEqual(Bytes(0xe1, 0x88, 0xb4), TextFormat.UnescapeBytes("\\xe1\\x88\\xb4"));
// Errors. // Errors.
Assert.Throws<FormatException>(() => TextFormat.UnescapeText("\\x")); Assert.Throws<FormatException>(() => TextFormat.UnescapeText("\\x"));
@ -470,55 +470,55 @@ namespace Google.ProtocolBuffers
Assert.Throws<FormatException>(() => TextFormat.UnescapeText("\\")); Assert.Throws<FormatException>(() => TextFormat.UnescapeText("\\"));
} }
[Fact] [Test]
public void ParseInteger() public void ParseInteger()
{ {
Assert.Equal(0, TextFormat.ParseInt32("0")); Assert.AreEqual(0, TextFormat.ParseInt32("0"));
Assert.Equal(1, TextFormat.ParseInt32("1")); Assert.AreEqual(1, TextFormat.ParseInt32("1"));
Assert.Equal(-1, TextFormat.ParseInt32("-1")); Assert.AreEqual(-1, TextFormat.ParseInt32("-1"));
Assert.Equal(12345, TextFormat.ParseInt32("12345")); Assert.AreEqual(12345, TextFormat.ParseInt32("12345"));
Assert.Equal(-12345, TextFormat.ParseInt32("-12345")); Assert.AreEqual(-12345, TextFormat.ParseInt32("-12345"));
Assert.Equal(2147483647, TextFormat.ParseInt32("2147483647")); Assert.AreEqual(2147483647, TextFormat.ParseInt32("2147483647"));
Assert.Equal(-2147483648, TextFormat.ParseInt32("-2147483648")); Assert.AreEqual(-2147483648, TextFormat.ParseInt32("-2147483648"));
Assert.Equal(0u, TextFormat.ParseUInt32("0")); Assert.AreEqual(0u, TextFormat.ParseUInt32("0"));
Assert.Equal(1u, TextFormat.ParseUInt32("1")); Assert.AreEqual(1u, TextFormat.ParseUInt32("1"));
Assert.Equal(12345u, TextFormat.ParseUInt32("12345")); Assert.AreEqual(12345u, TextFormat.ParseUInt32("12345"));
Assert.Equal(2147483647u, TextFormat.ParseUInt32("2147483647")); Assert.AreEqual(2147483647u, TextFormat.ParseUInt32("2147483647"));
Assert.Equal(2147483648U, TextFormat.ParseUInt32("2147483648")); Assert.AreEqual(2147483648U, TextFormat.ParseUInt32("2147483648"));
Assert.Equal(4294967295U, TextFormat.ParseUInt32("4294967295")); Assert.AreEqual(4294967295U, TextFormat.ParseUInt32("4294967295"));
Assert.Equal(0L, TextFormat.ParseInt64("0")); Assert.AreEqual(0L, TextFormat.ParseInt64("0"));
Assert.Equal(1L, TextFormat.ParseInt64("1")); Assert.AreEqual(1L, TextFormat.ParseInt64("1"));
Assert.Equal(-1L, TextFormat.ParseInt64("-1")); Assert.AreEqual(-1L, TextFormat.ParseInt64("-1"));
Assert.Equal(12345L, TextFormat.ParseInt64("12345")); Assert.AreEqual(12345L, TextFormat.ParseInt64("12345"));
Assert.Equal(-12345L, TextFormat.ParseInt64("-12345")); Assert.AreEqual(-12345L, TextFormat.ParseInt64("-12345"));
Assert.Equal(2147483647L, TextFormat.ParseInt64("2147483647")); Assert.AreEqual(2147483647L, TextFormat.ParseInt64("2147483647"));
Assert.Equal(-2147483648L, TextFormat.ParseInt64("-2147483648")); Assert.AreEqual(-2147483648L, TextFormat.ParseInt64("-2147483648"));
Assert.Equal(4294967295L, TextFormat.ParseInt64("4294967295")); Assert.AreEqual(4294967295L, TextFormat.ParseInt64("4294967295"));
Assert.Equal(4294967296L, TextFormat.ParseInt64("4294967296")); Assert.AreEqual(4294967296L, TextFormat.ParseInt64("4294967296"));
Assert.Equal(9223372036854775807L, TextFormat.ParseInt64("9223372036854775807")); Assert.AreEqual(9223372036854775807L, TextFormat.ParseInt64("9223372036854775807"));
Assert.Equal(-9223372036854775808L, TextFormat.ParseInt64("-9223372036854775808")); Assert.AreEqual(-9223372036854775808L, TextFormat.ParseInt64("-9223372036854775808"));
Assert.Equal(0uL, TextFormat.ParseUInt64("0")); Assert.AreEqual(0uL, TextFormat.ParseUInt64("0"));
Assert.Equal(1uL, TextFormat.ParseUInt64("1")); Assert.AreEqual(1uL, TextFormat.ParseUInt64("1"));
Assert.Equal(12345uL, TextFormat.ParseUInt64("12345")); Assert.AreEqual(12345uL, TextFormat.ParseUInt64("12345"));
Assert.Equal(2147483647uL, TextFormat.ParseUInt64("2147483647")); Assert.AreEqual(2147483647uL, TextFormat.ParseUInt64("2147483647"));
Assert.Equal(4294967295uL, TextFormat.ParseUInt64("4294967295")); Assert.AreEqual(4294967295uL, TextFormat.ParseUInt64("4294967295"));
Assert.Equal(4294967296uL, TextFormat.ParseUInt64("4294967296")); Assert.AreEqual(4294967296uL, TextFormat.ParseUInt64("4294967296"));
Assert.Equal(9223372036854775807UL, TextFormat.ParseUInt64("9223372036854775807")); Assert.AreEqual(9223372036854775807UL, TextFormat.ParseUInt64("9223372036854775807"));
Assert.Equal(9223372036854775808UL, TextFormat.ParseUInt64("9223372036854775808")); Assert.AreEqual(9223372036854775808UL, TextFormat.ParseUInt64("9223372036854775808"));
Assert.Equal(18446744073709551615UL, TextFormat.ParseUInt64("18446744073709551615")); Assert.AreEqual(18446744073709551615UL, TextFormat.ParseUInt64("18446744073709551615"));
// Hex // Hex
Assert.Equal(0x1234abcd, TextFormat.ParseInt32("0x1234abcd")); Assert.AreEqual(0x1234abcd, TextFormat.ParseInt32("0x1234abcd"));
Assert.Equal(-0x1234abcd, TextFormat.ParseInt32("-0x1234abcd")); Assert.AreEqual(-0x1234abcd, TextFormat.ParseInt32("-0x1234abcd"));
Assert.Equal(0xffffffffffffffffUL, TextFormat.ParseUInt64("0xffffffffffffffff")); Assert.AreEqual(0xffffffffffffffffUL, TextFormat.ParseUInt64("0xffffffffffffffff"));
Assert.Equal(0x7fffffffffffffffL, Assert.AreEqual(0x7fffffffffffffffL,
TextFormat.ParseInt64("0x7fffffffffffffff")); TextFormat.ParseInt64("0x7fffffffffffffff"));
// Octal // Octal
Assert.Equal(342391, TextFormat.ParseInt32("01234567")); Assert.AreEqual(342391, TextFormat.ParseInt32("01234567"));
// Out-of-range // Out-of-range
Assert.Throws<FormatException>(() => TextFormat.ParseInt32("2147483648")); Assert.Throws<FormatException>(() => TextFormat.ParseInt32("2147483648"));
@ -532,7 +532,7 @@ namespace Google.ProtocolBuffers
Assert.Throws<FormatException>(() => TextFormat.ParseInt32("abcd")); Assert.Throws<FormatException>(() => TextFormat.ParseInt32("abcd"));
} }
[Fact] [Test]
public void ParseLongString() public void ParseLongString()
{ {
string longText = string longText =
@ -554,7 +554,7 @@ namespace Google.ProtocolBuffers
"123456789012345678901234567890123456789012345678901234567890"; "123456789012345678901234567890123456789012345678901234567890";
TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
TextFormat.Merge("optional_string: \"" + longText + "\"", builder); TextFormat.Merge("optional_string: \"" + longText + "\"", builder);
Assert.Equal(longText, builder.OptionalString); Assert.AreEqual(longText, builder.OptionalString);
} }
} }
} }

@ -38,7 +38,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -103,39 +103,39 @@ namespace Google.ProtocolBuffers
// ================================================================= // =================================================================
[Fact] [Test]
public void Varint() public void Varint()
{ {
UnknownField field = GetField("optional_int32"); UnknownField field = GetField("optional_int32");
Assert.Equal(1, field.VarintList.Count); Assert.AreEqual(1, field.VarintList.Count);
Assert.Equal(allFields.OptionalInt32, (long) field.VarintList[0]); Assert.AreEqual(allFields.OptionalInt32, (long) field.VarintList[0]);
} }
[Fact] [Test]
public void Fixed32() public void Fixed32()
{ {
UnknownField field = GetField("optional_fixed32"); UnknownField field = GetField("optional_fixed32");
Assert.Equal(1, field.Fixed32List.Count); Assert.AreEqual(1, field.Fixed32List.Count);
Assert.Equal<long>(allFields.OptionalFixed32, (int) field.Fixed32List[0]); Assert.AreEqual(allFields.OptionalFixed32, (int) field.Fixed32List[0]);
} }
[Fact] [Test]
public void Fixed64() public void Fixed64()
{ {
UnknownField field = GetField("optional_fixed64"); UnknownField field = GetField("optional_fixed64");
Assert.Equal(1, field.Fixed64List.Count); Assert.AreEqual(1, field.Fixed64List.Count);
Assert.Equal((long)allFields.OptionalFixed64, (long)field.Fixed64List[0]); Assert.AreEqual((long)allFields.OptionalFixed64, (long)field.Fixed64List[0]);
} }
[Fact] [Test]
public void LengthDelimited() public void LengthDelimited()
{ {
UnknownField field = GetField("optional_bytes"); UnknownField field = GetField("optional_bytes");
Assert.Equal(1, field.LengthDelimitedList.Count); Assert.AreEqual(1, field.LengthDelimitedList.Count);
Assert.Equal(allFields.OptionalBytes, field.LengthDelimitedList[0]); Assert.AreEqual(allFields.OptionalBytes, field.LengthDelimitedList[0]);
} }
[Fact] [Test]
public void Group() public void Group()
{ {
FieldDescriptor nestedFieldDescriptor = FieldDescriptor nestedFieldDescriptor =
@ -143,35 +143,35 @@ namespace Google.ProtocolBuffers
Assert.NotNull(nestedFieldDescriptor); Assert.NotNull(nestedFieldDescriptor);
UnknownField field = GetField("optionalgroup"); UnknownField field = GetField("optionalgroup");
Assert.Equal(1, field.GroupList.Count); Assert.AreEqual(1, field.GroupList.Count);
UnknownFieldSet group = field.GroupList[0]; UnknownFieldSet group = field.GroupList[0];
Assert.Equal(1, group.FieldDictionary.Count); Assert.AreEqual(1, group.FieldDictionary.Count);
Assert.True(group.HasField(nestedFieldDescriptor.FieldNumber)); Assert.IsTrue(group.HasField(nestedFieldDescriptor.FieldNumber));
UnknownField nestedField = group[nestedFieldDescriptor.FieldNumber]; UnknownField nestedField = group[nestedFieldDescriptor.FieldNumber];
Assert.Equal(1, nestedField.VarintList.Count); Assert.AreEqual(1, nestedField.VarintList.Count);
Assert.Equal(allFields.OptionalGroup.A, (long) nestedField.VarintList[0]); Assert.AreEqual(allFields.OptionalGroup.A, (long) nestedField.VarintList[0]);
} }
[Fact] [Test]
public void Serialize() public void Serialize()
{ {
// Check that serializing the UnknownFieldSet produces the original data again. // Check that serializing the UnknownFieldSet produces the original data again.
ByteString data = emptyMessage.ToByteString(); ByteString data = emptyMessage.ToByteString();
Assert.Equal(allFieldsData, data); Assert.AreEqual(allFieldsData, data);
} }
[Fact] [Test]
public void CopyFrom() public void CopyFrom()
{ {
TestEmptyMessage message = TestEmptyMessage message =
TestEmptyMessage.CreateBuilder().MergeFrom(emptyMessage).Build(); TestEmptyMessage.CreateBuilder().MergeFrom(emptyMessage).Build();
Assert.Equal(emptyMessage.ToString(), message.ToString()); Assert.AreEqual(emptyMessage.ToString(), message.ToString());
} }
[Fact] [Test]
public void MergeFrom() public void MergeFrom()
{ {
TestEmptyMessage source = TestEmptyMessage source =
@ -200,7 +200,7 @@ namespace Google.ProtocolBuffers
.MergeFrom(source) .MergeFrom(source)
.Build(); .Build();
Assert.Equal( Assert.AreEqual(
"1: 1\n" + "1: 1\n" +
"2: 2\n" + "2: 2\n" +
"3: 3\n" + "3: 3\n" +
@ -208,23 +208,23 @@ namespace Google.ProtocolBuffers
destination.ToString()); destination.ToString());
} }
[Fact] [Test]
public void Clear() public void Clear()
{ {
UnknownFieldSet fields = UnknownFieldSet fields =
UnknownFieldSet.CreateBuilder().MergeFrom(unknownFields).Clear().Build(); UnknownFieldSet.CreateBuilder().MergeFrom(unknownFields).Clear().Build();
Assert.Equal(0, fields.FieldDictionary.Count); Assert.AreEqual(0, fields.FieldDictionary.Count);
} }
[Fact] [Test]
public void ClearMessage() public void ClearMessage()
{ {
TestEmptyMessage message = TestEmptyMessage message =
TestEmptyMessage.CreateBuilder().MergeFrom(emptyMessage).Clear().Build(); TestEmptyMessage.CreateBuilder().MergeFrom(emptyMessage).Clear().Build();
Assert.Equal(0, message.SerializedSize); Assert.AreEqual(0, message.SerializedSize);
} }
[Fact] [Test]
public void ParseKnownAndUnknown() public void ParseKnownAndUnknown()
{ {
// Test mixing known and unknown fields when parsing. // Test mixing known and unknown fields when parsing.
@ -239,14 +239,14 @@ namespace Google.ProtocolBuffers
TestAllTypes destination = TestAllTypes.ParseFrom(data); TestAllTypes destination = TestAllTypes.ParseFrom(data);
TestUtil.AssertAllFieldsSet(destination); TestUtil.AssertAllFieldsSet(destination);
Assert.Equal(1, destination.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, destination.UnknownFields.FieldDictionary.Count);
UnknownField field = destination.UnknownFields[123456]; UnknownField field = destination.UnknownFields[123456];
Assert.Equal(1, field.VarintList.Count); Assert.AreEqual(1, field.VarintList.Count);
Assert.Equal(654321, (long) field.VarintList[0]); Assert.AreEqual(654321, (long) field.VarintList[0]);
} }
[Fact] [Test]
public void WrongTypeTreatedAsUnknown() public void WrongTypeTreatedAsUnknown()
{ {
// Test that fields of the wrong wire type are treated like unknown fields // Test that fields of the wrong wire type are treated like unknown fields
@ -258,10 +258,10 @@ namespace Google.ProtocolBuffers
// All fields should have been interpreted as unknown, so the debug strings // All fields should have been interpreted as unknown, so the debug strings
// should be the same. // should be the same.
Assert.Equal(emptyMessage.ToString(), allTypesMessage.ToString()); Assert.AreEqual(emptyMessage.ToString(), allTypesMessage.ToString());
} }
[Fact] [Test]
public void UnknownExtensions() public void UnknownExtensions()
{ {
// Make sure fields are properly parsed to the UnknownFieldSet even when // Make sure fields are properly parsed to the UnknownFieldSet even when
@ -270,12 +270,12 @@ namespace Google.ProtocolBuffers
TestEmptyMessageWithExtensions message = TestEmptyMessageWithExtensions message =
TestEmptyMessageWithExtensions.ParseFrom(allFieldsData); TestEmptyMessageWithExtensions.ParseFrom(allFieldsData);
Assert.Equal(unknownFields.FieldDictionary.Count, Assert.AreEqual(unknownFields.FieldDictionary.Count,
message.UnknownFields.FieldDictionary.Count); message.UnknownFields.FieldDictionary.Count);
Assert.Equal(allFieldsData, message.ToByteString()); Assert.AreEqual(allFieldsData, message.ToByteString());
} }
[Fact] [Test]
public void WrongExtensionTypeTreatedAsUnknown() public void WrongExtensionTypeTreatedAsUnknown()
{ {
// Test that fields of the wrong wire type are treated like unknown fields // Test that fields of the wrong wire type are treated like unknown fields
@ -287,11 +287,11 @@ namespace Google.ProtocolBuffers
// All fields should have been interpreted as unknown, so the debug strings // All fields should have been interpreted as unknown, so the debug strings
// should be the same. // should be the same.
Assert.Equal(emptyMessage.ToString(), Assert.AreEqual(emptyMessage.ToString(),
allExtensionsMessage.ToString()); allExtensionsMessage.ToString());
} }
[Fact] [Test]
public void ParseUnknownEnumValue() public void ParseUnknownEnumValue()
{ {
FieldDescriptor singularField = FieldDescriptor singularField =
@ -320,7 +320,7 @@ namespace Google.ProtocolBuffers
{ {
TestAllTypes message = TestAllTypes.ParseFrom(data); TestAllTypes message = TestAllTypes.ParseFrom(data);
Assert.Equal(TestAllTypes.Types.NestedEnum.BAR, Assert.AreEqual(TestAllTypes.Types.NestedEnum.BAR,
message.OptionalNestedEnum); message.OptionalNestedEnum);
TestUtil.AssertEqual(new[] {TestAllTypes.Types.NestedEnum.FOO, TestAllTypes.Types.NestedEnum.BAZ}, TestUtil.AssertEqual(new[] {TestAllTypes.Types.NestedEnum.FOO, TestAllTypes.Types.NestedEnum.BAZ},
message.RepeatedNestedEnumList); message.RepeatedNestedEnumList);
@ -331,7 +331,7 @@ namespace Google.ProtocolBuffers
{ {
TestAllExtensions message = TestAllExtensions message =
TestAllExtensions.ParseFrom(data, TestUtil.CreateExtensionRegistry()); TestAllExtensions.ParseFrom(data, TestUtil.CreateExtensionRegistry());
Assert.Equal(TestAllTypes.Types.NestedEnum.BAR, Assert.AreEqual(TestAllTypes.Types.NestedEnum.BAR,
message.GetExtension(Unittest.OptionalNestedEnumExtension)); message.GetExtension(Unittest.OptionalNestedEnumExtension));
TestUtil.AssertEqual(new[] {TestAllTypes.Types.NestedEnum.FOO, TestAllTypes.Types.NestedEnum.BAZ}, TestUtil.AssertEqual(new[] {TestAllTypes.Types.NestedEnum.FOO, TestAllTypes.Types.NestedEnum.BAZ},
message.GetExtension(Unittest.RepeatedNestedEnumExtension)); message.GetExtension(Unittest.RepeatedNestedEnumExtension));
@ -340,7 +340,7 @@ namespace Google.ProtocolBuffers
} }
} }
[Fact] [Test]
public void LargeVarint() public void LargeVarint()
{ {
ByteString data = ByteString data =
@ -353,11 +353,11 @@ namespace Google.ProtocolBuffers
.ToByteString(); .ToByteString();
UnknownFieldSet parsed = UnknownFieldSet.ParseFrom(data); UnknownFieldSet parsed = UnknownFieldSet.ParseFrom(data);
UnknownField field = parsed[1]; UnknownField field = parsed[1];
Assert.Equal(1, field.VarintList.Count); Assert.AreEqual(1, field.VarintList.Count);
Assert.Equal(0x7FFFFFFFFFFFFFFFUL, field.VarintList[0]); Assert.AreEqual(0x7FFFFFFFFFFFFFFFUL, field.VarintList[0]);
} }
[Fact] [Test]
public void EqualsAndHashCode() public void EqualsAndHashCode()
{ {
UnknownField fixed32Field = UnknownField.CreateBuilder().AddFixed32(1).Build(); UnknownField fixed32Field = UnknownField.CreateBuilder().AddFixed32(1).Build();
@ -405,10 +405,10 @@ namespace Google.ProtocolBuffers
private static void CheckNotEqual(UnknownFieldSet s1, UnknownFieldSet s2) private static void CheckNotEqual(UnknownFieldSet s1, UnknownFieldSet s2)
{ {
String equalsError = string.Format("{0} should not be equal to {1}", s1, s2); String equalsError = string.Format("{0} should not be equal to {1}", s1, s2);
Assert.False(s1.Equals(s2), equalsError); Assert.IsFalse(s1.Equals(s2), equalsError);
Assert.False(s2.Equals(s1), equalsError); Assert.IsFalse(s2.Equals(s1), equalsError);
Assert.False(s1.GetHashCode() == s2.GetHashCode(), Assert.IsFalse(s1.GetHashCode() == s2.GetHashCode(),
string.Format("{0} should have a different hash code from {1}", s1, s2)); string.Format("{0} should have a different hash code from {1}", s1, s2));
} }
@ -419,13 +419,13 @@ namespace Google.ProtocolBuffers
private static void CheckEqualsIsConsistent(UnknownFieldSet set) private static void CheckEqualsIsConsistent(UnknownFieldSet set)
{ {
// Object should be equal to itself. // Object should be equal to itself.
Assert.Equal(set, set); Assert.AreEqual(set, set);
// Object should be equal to a copy of itself. // Object should be equal to a copy of itself.
UnknownFieldSet copy = UnknownFieldSet.CreateBuilder(set).Build(); UnknownFieldSet copy = UnknownFieldSet.CreateBuilder(set).Build();
Assert.Equal(set, copy); Assert.AreEqual(set, copy);
Assert.Equal(copy, set); Assert.AreEqual(copy, set);
Assert.Equal(set.GetHashCode(), copy.GetHashCode()); Assert.AreEqual(set.GetHashCode(), copy.GetHashCode());
} }
} }
} }

@ -38,7 +38,7 @@ using System.IO;
using System.Reflection; using System.Reflection;
using Google.ProtocolBuffers.Descriptors; using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -47,7 +47,7 @@ namespace Google.ProtocolBuffers
/// <summary> /// <summary>
/// Keeps the attributes on FieldType and the switch statement in WireFormat in sync. /// Keeps the attributes on FieldType and the switch statement in WireFormat in sync.
/// </summary> /// </summary>
[Fact] [Test]
public void FieldTypeToWireTypeMapping() public void FieldTypeToWireTypeMapping()
{ {
foreach (FieldInfo field in typeof(FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) foreach (FieldInfo field in typeof(FieldType).GetFields(BindingFlags.Static | BindingFlags.Public))
@ -55,34 +55,34 @@ namespace Google.ProtocolBuffers
FieldType fieldType = (FieldType) field.GetValue(null); FieldType fieldType = (FieldType) field.GetValue(null);
FieldMappingAttribute mapping = FieldMappingAttribute mapping =
(FieldMappingAttribute) field.GetCustomAttributes(typeof(FieldMappingAttribute), false)[0]; (FieldMappingAttribute) field.GetCustomAttributes(typeof(FieldMappingAttribute), false)[0];
Assert.Equal(mapping.WireType, WireFormat.GetWireType(fieldType)); Assert.AreEqual(mapping.WireType, WireFormat.GetWireType(fieldType));
} }
} }
[Fact] [Test]
public void Serialization() public void Serialization()
{ {
TestAllTypes message = TestUtil.GetAllSet(); TestAllTypes message = TestUtil.GetAllSet();
ByteString rawBytes = message.ToByteString(); ByteString rawBytes = message.ToByteString();
Assert.Equal(rawBytes.Length, message.SerializedSize); Assert.AreEqual(rawBytes.Length, message.SerializedSize);
TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes); TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes);
TestUtil.AssertAllFieldsSet(message2); TestUtil.AssertAllFieldsSet(message2);
} }
[Fact] [Test]
public void SerializationPacked() public void SerializationPacked()
{ {
TestPackedTypes message = TestUtil.GetPackedSet(); TestPackedTypes message = TestUtil.GetPackedSet();
ByteString rawBytes = message.ToByteString(); ByteString rawBytes = message.ToByteString();
Assert.Equal(rawBytes.Length, message.SerializedSize); Assert.AreEqual(rawBytes.Length, message.SerializedSize);
TestPackedTypes message2 = TestPackedTypes.ParseFrom(rawBytes); TestPackedTypes message2 = TestPackedTypes.ParseFrom(rawBytes);
TestUtil.AssertPackedFieldsSet(message2); TestUtil.AssertPackedFieldsSet(message2);
} }
[Fact] [Test]
public void SerializeExtensions() public void SerializeExtensions()
{ {
// TestAllTypes and TestAllExtensions should have compatible wire formats, // TestAllTypes and TestAllExtensions should have compatible wire formats,
@ -90,14 +90,14 @@ namespace Google.ProtocolBuffers
// it should work. // it should work.
TestAllExtensions message = TestUtil.GetAllExtensionsSet(); TestAllExtensions message = TestUtil.GetAllExtensionsSet();
ByteString rawBytes = message.ToByteString(); ByteString rawBytes = message.ToByteString();
Assert.Equal(rawBytes.Length, message.SerializedSize); Assert.AreEqual(rawBytes.Length, message.SerializedSize);
TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes); TestAllTypes message2 = TestAllTypes.ParseFrom(rawBytes);
TestUtil.AssertAllFieldsSet(message2); TestUtil.AssertAllFieldsSet(message2);
} }
[Fact] [Test]
public void SerializePackedExtensions() public void SerializePackedExtensions()
{ {
// TestPackedTypes and TestPackedExtensions should have compatible wire // TestPackedTypes and TestPackedExtensions should have compatible wire
@ -108,10 +108,10 @@ namespace Google.ProtocolBuffers
TestPackedTypes message2 = TestUtil.GetPackedSet(); TestPackedTypes message2 = TestUtil.GetPackedSet();
ByteString rawBytes2 = message2.ToByteString(); ByteString rawBytes2 = message2.ToByteString();
Assert.Equal(rawBytes, rawBytes2); Assert.AreEqual(rawBytes, rawBytes2);
} }
[Fact] [Test]
public void SerializeDelimited() public void SerializeDelimited()
{ {
MemoryStream stream = new MemoryStream(); MemoryStream stream = new MemoryStream();
@ -123,13 +123,13 @@ namespace Google.ProtocolBuffers
stream.Position = 0; stream.Position = 0;
TestUtil.AssertAllFieldsSet(TestAllTypes.ParseDelimitedFrom(stream)); TestUtil.AssertAllFieldsSet(TestAllTypes.ParseDelimitedFrom(stream));
Assert.Equal(12, stream.ReadByte()); Assert.AreEqual(12, stream.ReadByte());
TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseDelimitedFrom(stream)); TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseDelimitedFrom(stream));
Assert.Equal(34, stream.ReadByte()); Assert.AreEqual(34, stream.ReadByte());
Assert.Equal(-1, stream.ReadByte()); Assert.AreEqual(-1, stream.ReadByte());
} }
[Fact] [Test]
public void ParseExtensions() public void ParseExtensions()
{ {
// TestAllTypes and TestAllExtensions should have compatible wire formats, // TestAllTypes and TestAllExtensions should have compatible wire formats,
@ -148,7 +148,7 @@ namespace Google.ProtocolBuffers
TestUtil.AssertAllExtensionsSet(message2); TestUtil.AssertAllExtensionsSet(message2);
} }
[Fact] [Test]
public void ParsePackedExtensions() public void ParsePackedExtensions()
{ {
// Ensure that packed extensions can be properly parsed. // Ensure that packed extensions can be properly parsed.
@ -161,10 +161,10 @@ namespace Google.ProtocolBuffers
TestUtil.AssertPackedExtensionsSet(message2); TestUtil.AssertPackedExtensionsSet(message2);
} }
[Fact] [Test]
public void ExtensionsSerializedSize() public void ExtensionsSerializedSize()
{ {
Assert.Equal(TestUtil.GetAllSet().SerializedSize, TestUtil.GetAllExtensionsSet().SerializedSize); Assert.AreEqual(TestUtil.GetAllSet().SerializedSize, TestUtil.GetAllExtensionsSet().SerializedSize);
} }
private static void AssertFieldsInOrder(ByteString data) private static void AssertFieldsInOrder(ByteString data)
@ -176,13 +176,13 @@ namespace Google.ProtocolBuffers
string name; string name;
while (input.ReadTag(out tag, out name)) while (input.ReadTag(out tag, out name))
{ {
Assert.True(tag > previousTag); Assert.IsTrue(tag > previousTag);
previousTag = tag; previousTag = tag;
input.SkipField(); input.SkipField();
} }
} }
[Fact] [Test]
public void InterleavedFieldsAndExtensions() public void InterleavedFieldsAndExtensions()
{ {
// Tests that fields are written in order even when extension ranges // Tests that fields are written in order even when extension ranges
@ -213,7 +213,7 @@ namespace Google.ProtocolBuffers
private static readonly int TypeId1 = TestMessageSetExtension1.Descriptor.Extensions[0].FieldNumber; private static readonly int TypeId1 = TestMessageSetExtension1.Descriptor.Extensions[0].FieldNumber;
private static readonly int TypeId2 = TestMessageSetExtension2.Descriptor.Extensions[0].FieldNumber; private static readonly int TypeId2 = TestMessageSetExtension2.Descriptor.Extensions[0].FieldNumber;
[Fact] [Test]
public void SerializeMessageSet() public void SerializeMessageSet()
{ {
// Set up a TestMessageSet with two known messages and an unknown one. // Set up a TestMessageSet with two known messages and an unknown one.
@ -239,23 +239,23 @@ namespace Google.ProtocolBuffers
// Parse back using RawMessageSet and check the contents. // Parse back using RawMessageSet and check the contents.
RawMessageSet raw = RawMessageSet.ParseFrom(data); RawMessageSet raw = RawMessageSet.ParseFrom(data);
Assert.Equal(0, raw.UnknownFields.FieldDictionary.Count); Assert.AreEqual(0, raw.UnknownFields.FieldDictionary.Count);
Assert.Equal(3, raw.ItemCount); Assert.AreEqual(3, raw.ItemCount);
Assert.Equal(TypeId1, raw.ItemList[0].TypeId); Assert.AreEqual(TypeId1, raw.ItemList[0].TypeId);
Assert.Equal(TypeId2, raw.ItemList[1].TypeId); Assert.AreEqual(TypeId2, raw.ItemList[1].TypeId);
Assert.Equal(UnknownTypeId, raw.ItemList[2].TypeId); Assert.AreEqual(UnknownTypeId, raw.ItemList[2].TypeId);
TestMessageSetExtension1 message1 = TestMessageSetExtension1.ParseFrom(raw.GetItem(0).Message.ToByteArray()); TestMessageSetExtension1 message1 = TestMessageSetExtension1.ParseFrom(raw.GetItem(0).Message.ToByteArray());
Assert.Equal(123, message1.I); Assert.AreEqual(123, message1.I);
TestMessageSetExtension2 message2 = TestMessageSetExtension2.ParseFrom(raw.GetItem(1).Message.ToByteArray()); TestMessageSetExtension2 message2 = TestMessageSetExtension2.ParseFrom(raw.GetItem(1).Message.ToByteArray());
Assert.Equal("foo", message2.Str); Assert.AreEqual("foo", message2.Str);
Assert.Equal("bar", raw.GetItem(2).Message.ToStringUtf8()); Assert.AreEqual("bar", raw.GetItem(2).Message.ToStringUtf8());
} }
[Fact] [Test]
public void ParseMessageSet() public void ParseMessageSet()
{ {
ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance(); ExtensionRegistry extensionRegistry = ExtensionRegistry.CreateInstance();
@ -294,18 +294,18 @@ namespace Google.ProtocolBuffers
TestMessageSet messageSet = TestMessageSet messageSet =
TestMessageSet.ParseFrom(data, extensionRegistry); TestMessageSet.ParseFrom(data, extensionRegistry);
Assert.Equal(123, messageSet.GetExtension(TestMessageSetExtension1.MessageSetExtension).I); Assert.AreEqual(123, messageSet.GetExtension(TestMessageSetExtension1.MessageSetExtension).I);
Assert.Equal("foo", messageSet.GetExtension(TestMessageSetExtension2.MessageSetExtension).Str); Assert.AreEqual("foo", messageSet.GetExtension(TestMessageSetExtension2.MessageSetExtension).Str);
// Check for unknown field with type LENGTH_DELIMITED, // Check for unknown field with type LENGTH_DELIMITED,
// number UNKNOWN_TYPE_ID, and contents "bar". // number UNKNOWN_TYPE_ID, and contents "bar".
UnknownFieldSet unknownFields = messageSet.UnknownFields; UnknownFieldSet unknownFields = messageSet.UnknownFields;
Assert.Equal(1, unknownFields.FieldDictionary.Count); Assert.AreEqual(1, unknownFields.FieldDictionary.Count);
Assert.True(unknownFields.HasField(UnknownTypeId)); Assert.IsTrue(unknownFields.HasField(UnknownTypeId));
UnknownField field = unknownFields[UnknownTypeId]; UnknownField field = unknownFields[UnknownTypeId];
Assert.Equal(1, field.LengthDelimitedList.Count); Assert.AreEqual(1, field.LengthDelimitedList.Count);
Assert.Equal("bar", field.LengthDelimitedList[0].ToStringUtf8()); Assert.AreEqual("bar", field.LengthDelimitedList[0].ToStringUtf8());
} }
} }
} }

@ -1,9 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="xunit" version="2.0.0" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" userInstalled="true" />
<package id="xunit.abstractions" version="2.0.0" targetFramework="net45" /> <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net45" userInstalled="true" />
<package id="xunit.assert" version="2.0.0" targetFramework="net45" />
<package id="xunit.core" version="2.0.0" targetFramework="net45" />
<package id="xunit.extensibility.core" version="2.0.0" targetFramework="net45" />
<package id="xunit.runner.visualstudio" version="2.0.0" targetFramework="net45" />
</packages> </packages>

@ -36,13 +36,13 @@
using System.IO; using System.IO;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class AbstractBuilderLiteTest public class AbstractBuilderLiteTest
{ {
[Fact] [Test]
public void TestMergeFromCodedInputStream() public void TestMergeFromCodedInputStream()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -50,7 +50,7 @@ namespace Google.ProtocolBuffers
.SetOptionalUint32(uint.MaxValue).Build(); .SetOptionalUint32(uint.MaxValue).Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
using (MemoryStream ms = new MemoryStream(msg.ToByteArray())) using (MemoryStream ms = new MemoryStream(msg.ToByteArray()))
{ {
@ -58,22 +58,22 @@ namespace Google.ProtocolBuffers
copy = copy.ToBuilder().MergeFrom(ci).Build(); copy = copy.ToBuilder().MergeFrom(ci).Build();
} }
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakClear() public void TestIBuilderLiteWeakClear()
{ {
TestAllTypesLite copy, msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite copy, msg = TestAllTypesLite.DefaultInstance;
copy = msg.ToBuilder().SetOptionalString("Should be removed.").Build(); copy = msg.ToBuilder().SetOptionalString("Should be removed.").Build();
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakClear().WeakBuild(); copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakClear().WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestBuilderLiteMergeFromCodedInputStream() public void TestBuilderLiteMergeFromCodedInputStream()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -81,14 +81,14 @@ namespace Google.ProtocolBuffers
.SetOptionalString("Should be merged.").Build(); .SetOptionalString("Should be merged.").Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
copy = copy =
copy.ToBuilder().MergeFrom(CodedInputStream.CreateInstance(new MemoryStream(msg.ToByteArray()))).Build(); copy.ToBuilder().MergeFrom(CodedInputStream.CreateInstance(new MemoryStream(msg.ToByteArray()))).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestBuilderLiteMergeDelimitedFrom() public void TestBuilderLiteMergeDelimitedFrom()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -96,15 +96,15 @@ namespace Google.ProtocolBuffers
.SetOptionalString("Should be merged.").Build(); .SetOptionalString("Should be merged.").Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
Stream s = new MemoryStream(); Stream s = new MemoryStream();
msg.WriteDelimitedTo(s); msg.WriteDelimitedTo(s);
s.Position = 0; s.Position = 0;
copy = copy.ToBuilder().MergeDelimitedFrom(s).Build(); copy = copy.ToBuilder().MergeDelimitedFrom(s).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestBuilderLiteMergeDelimitedFromExtensions() public void TestBuilderLiteMergeDelimitedFromExtensions()
{ {
TestAllExtensionsLite copy, TestAllExtensionsLite copy,
@ -113,7 +113,7 @@ namespace Google.ProtocolBuffers
"Should be merged.").Build(); "Should be merged.").Build();
copy = TestAllExtensionsLite.DefaultInstance; copy = TestAllExtensionsLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
Stream s = new MemoryStream(); Stream s = new MemoryStream();
msg.WriteDelimitedTo(s); msg.WriteDelimitedTo(s);
@ -123,11 +123,11 @@ namespace Google.ProtocolBuffers
UnittestLite.RegisterAllExtensions(registry); UnittestLite.RegisterAllExtensions(registry);
copy = copy.ToBuilder().MergeDelimitedFrom(s, registry).Build(); copy = copy.ToBuilder().MergeDelimitedFrom(s, registry).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite)); Assert.AreEqual("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite));
} }
[Fact] [Test]
public void TestBuilderLiteMergeFromStream() public void TestBuilderLiteMergeFromStream()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -135,15 +135,15 @@ namespace Google.ProtocolBuffers
.SetOptionalString("Should be merged.").Build(); .SetOptionalString("Should be merged.").Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
Stream s = new MemoryStream(); Stream s = new MemoryStream();
msg.WriteTo(s); msg.WriteTo(s);
s.Position = 0; s.Position = 0;
copy = copy.ToBuilder().MergeFrom(s).Build(); copy = copy.ToBuilder().MergeFrom(s).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestBuilderLiteMergeFromStreamExtensions() public void TestBuilderLiteMergeFromStreamExtensions()
{ {
TestAllExtensionsLite copy, TestAllExtensionsLite copy,
@ -152,7 +152,7 @@ namespace Google.ProtocolBuffers
"Should be merged.").Build(); "Should be merged.").Build();
copy = TestAllExtensionsLite.DefaultInstance; copy = TestAllExtensionsLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
Stream s = new MemoryStream(); Stream s = new MemoryStream();
msg.WriteTo(s); msg.WriteTo(s);
@ -162,11 +162,11 @@ namespace Google.ProtocolBuffers
UnittestLite.RegisterAllExtensions(registry); UnittestLite.RegisterAllExtensions(registry);
copy = copy.ToBuilder().MergeFrom(s, registry).Build(); copy = copy.ToBuilder().MergeFrom(s, registry).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite)); Assert.AreEqual("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite));
} }
[Fact] [Test]
public void TestIBuilderLiteWeakMergeFromIMessageLite() public void TestIBuilderLiteWeakMergeFromIMessageLite()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -174,13 +174,13 @@ namespace Google.ProtocolBuffers
.SetOptionalString("Should be merged.").Build(); .SetOptionalString("Should be merged.").Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom((IMessageLite) msg).WeakBuild(); copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom((IMessageLite) msg).WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakMergeFromByteString() public void TestIBuilderLiteWeakMergeFromByteString()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -188,13 +188,13 @@ namespace Google.ProtocolBuffers
.SetOptionalString("Should be merged.").Build(); .SetOptionalString("Should be merged.").Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString()).WeakBuild(); copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString()).WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakMergeFromByteStringExtensions() public void TestIBuilderLiteWeakMergeFromByteStringExtensions()
{ {
TestAllExtensionsLite copy, TestAllExtensionsLite copy,
@ -203,12 +203,12 @@ namespace Google.ProtocolBuffers
"Should be merged.").Build(); "Should be merged.").Build();
copy = TestAllExtensionsLite.DefaultInstance; copy = TestAllExtensionsLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
copy = copy =
(TestAllExtensionsLite) (TestAllExtensionsLite)
((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString(), ExtensionRegistry.Empty).WeakBuild(); ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString(), ExtensionRegistry.Empty).WeakBuild();
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
UnittestLite.RegisterAllExtensions(registry); UnittestLite.RegisterAllExtensions(registry);
@ -216,11 +216,11 @@ namespace Google.ProtocolBuffers
copy = copy =
(TestAllExtensionsLite) (TestAllExtensionsLite)
((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString(), registry).WeakBuild(); ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(msg.ToByteString(), registry).WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite)); Assert.AreEqual("Should be merged.", copy.GetExtension(UnittestLite.OptionalStringExtensionLite));
} }
[Fact] [Test]
public void TestIBuilderLiteWeakMergeFromCodedInputStream() public void TestIBuilderLiteWeakMergeFromCodedInputStream()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -228,7 +228,7 @@ namespace Google.ProtocolBuffers
.SetOptionalUint32(uint.MaxValue).Build(); .SetOptionalUint32(uint.MaxValue).Build();
copy = TestAllTypesLite.DefaultInstance; copy = TestAllTypesLite.DefaultInstance;
Assert.NotEqual(msg.ToByteArray(), copy.ToByteArray()); Assert.AreNotEqual(msg.ToByteArray(), copy.ToByteArray());
using (MemoryStream ms = new MemoryStream(msg.ToByteArray())) using (MemoryStream ms = new MemoryStream(msg.ToByteArray()))
{ {
@ -236,58 +236,58 @@ namespace Google.ProtocolBuffers
copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(ci).WeakBuild(); copy = (TestAllTypesLite) ((IBuilderLite) copy.ToBuilder()).WeakMergeFrom(ci).WeakBuild();
} }
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakBuildPartial() public void TestIBuilderLiteWeakBuildPartial()
{ {
IBuilderLite builder = TestRequiredLite.CreateBuilder(); IBuilderLite builder = TestRequiredLite.CreateBuilder();
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
IMessageLite msg = builder.WeakBuildPartial(); IMessageLite msg = builder.WeakBuildPartial();
Assert.False(msg.IsInitialized); Assert.IsFalse(msg.IsInitialized);
Assert.Equal(msg.ToByteArray(), TestRequiredLite.DefaultInstance.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), TestRequiredLite.DefaultInstance.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakBuildUninitialized() public void TestIBuilderLiteWeakBuildUninitialized()
{ {
IBuilderLite builder = TestRequiredLite.CreateBuilder(); IBuilderLite builder = TestRequiredLite.CreateBuilder();
Assert.False(builder.IsInitialized); Assert.IsFalse(builder.IsInitialized);
Assert.Throws<UninitializedMessageException>(() => builder.WeakBuild()); Assert.Throws<UninitializedMessageException>(() => builder.WeakBuild());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakBuild() public void TestIBuilderLiteWeakBuild()
{ {
IBuilderLite builder = TestRequiredLite.CreateBuilder() IBuilderLite builder = TestRequiredLite.CreateBuilder()
.SetD(0) .SetD(0)
.SetEn(ExtraEnum.EXLITE_BAZ); .SetEn(ExtraEnum.EXLITE_BAZ);
Assert.True(builder.IsInitialized); Assert.IsTrue(builder.IsInitialized);
builder.WeakBuild(); builder.WeakBuild();
} }
[Fact] [Test]
public void TestIBuilderLiteWeakClone() public void TestIBuilderLiteWeakClone()
{ {
TestRequiredLite msg = TestRequiredLite.CreateBuilder() TestRequiredLite msg = TestRequiredLite.CreateBuilder()
.SetD(1).SetEn(ExtraEnum.EXLITE_BAR).Build(); .SetD(1).SetEn(ExtraEnum.EXLITE_BAR).Build();
Assert.True(msg.IsInitialized); Assert.IsTrue(msg.IsInitialized);
IMessageLite copy = ((IBuilderLite) msg.ToBuilder()).WeakClone().WeakBuild(); IMessageLite copy = ((IBuilderLite) msg.ToBuilder()).WeakClone().WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestIBuilderLiteWeakDefaultInstance() public void TestIBuilderLiteWeakDefaultInstance()
{ {
Assert.True(ReferenceEquals(TestRequiredLite.DefaultInstance, Assert.IsTrue(ReferenceEquals(TestRequiredLite.DefaultInstance,
((IBuilderLite) TestRequiredLite.CreateBuilder()).WeakDefaultInstanceForType)); ((IBuilderLite) TestRequiredLite.CreateBuilder()).WeakDefaultInstanceForType));
} }
[Fact] [Test]
public void TestGeneratedBuilderLiteAddRange() public void TestGeneratedBuilderLiteAddRange()
{ {
TestAllTypesLite copy, TestAllTypesLite copy,
@ -299,11 +299,11 @@ namespace Google.ProtocolBuffers
.Build(); .Build();
copy = msg.DefaultInstanceForType.ToBuilder().MergeFrom(msg).Build(); copy = msg.DefaultInstanceForType.ToBuilder().MergeFrom(msg).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
// ROK 5/7/2013 Issue #54: should retire all bytes in buffer (bufferSize) // ROK 5/7/2013 Issue #54: should retire all bytes in buffer (bufferSize)
[Fact] [Test]
public void TestBufferRefillIssue() public void TestBufferRefillIssue()
{ {
var ms = new MemoryStream(); var ms = new MemoryStream();
@ -322,15 +322,15 @@ namespace Google.ProtocolBuffers
var input = CodedInputStream.CreateInstance(ms); var input = CodedInputStream.CreateInstance(ms);
var builder = BucketOfBytes.CreateBuilder(); var builder = BucketOfBytes.CreateBuilder();
input.ReadMessage(builder, ExtensionRegistry.Empty); input.ReadMessage(builder, ExtensionRegistry.Empty);
Assert.Equal(3005L, input.Position); Assert.AreEqual(3005L, input.Position);
Assert.Equal(3000, builder.Value.Length); Assert.AreEqual(3000, builder.Value.Length);
input.ReadMessage(builder, ExtensionRegistry.Empty); input.ReadMessage(builder, ExtensionRegistry.Empty);
Assert.Equal(5114, input.Position); Assert.AreEqual(5114, input.Position);
Assert.Equal(1000, builder.Value.Length); Assert.AreEqual(1000, builder.Value.Length);
input.ReadMessage(builder, ExtensionRegistry.Empty); input.ReadMessage(builder, ExtensionRegistry.Empty);
Assert.Equal(5217L, input.Position); Assert.AreEqual(5217L, input.Position);
Assert.Equal(input.Position, ms.Length); Assert.AreEqual(input.Position, ms.Length);
Assert.Equal(100, builder.Value.Length); Assert.AreEqual(100, builder.Value.Length);
} }
} }
} }

@ -37,13 +37,13 @@
using System; using System;
using System.IO; using System.IO;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class AbstractMessageLiteTest public class AbstractMessageLiteTest
{ {
[Fact] [Test]
public void TestMessageLiteToByteString() public void TestMessageLiteToByteString()
{ {
TestRequiredLite msg = TestRequiredLite.CreateBuilder() TestRequiredLite msg = TestRequiredLite.CreateBuilder()
@ -52,14 +52,14 @@ namespace Google.ProtocolBuffers
.Build(); .Build();
ByteString b = msg.ToByteString(); ByteString b = msg.ToByteString();
Assert.Equal(4, b.Length); Assert.AreEqual(4, b.Length);
Assert.Equal(TestRequiredLite.DFieldNumber << 3, b[0]); Assert.AreEqual(TestRequiredLite.DFieldNumber << 3, b[0]);
Assert.Equal(42, b[1]); Assert.AreEqual(42, b[1]);
Assert.Equal(TestRequiredLite.EnFieldNumber << 3, b[2]); Assert.AreEqual(TestRequiredLite.EnFieldNumber << 3, b[2]);
Assert.Equal((int) ExtraEnum.EXLITE_BAZ, b[3]); Assert.AreEqual((int) ExtraEnum.EXLITE_BAZ, b[3]);
} }
[Fact] [Test]
public void TestMessageLiteToByteArray() public void TestMessageLiteToByteArray()
{ {
TestRequiredLite msg = TestRequiredLite.CreateBuilder() TestRequiredLite msg = TestRequiredLite.CreateBuilder()
@ -69,10 +69,10 @@ namespace Google.ProtocolBuffers
ByteString b = msg.ToByteString(); ByteString b = msg.ToByteString();
ByteString copy = ByteString.CopyFrom(msg.ToByteArray()); ByteString copy = ByteString.CopyFrom(msg.ToByteArray());
Assert.Equal(b, copy); Assert.AreEqual(b, copy);
} }
[Fact] [Test]
public void TestMessageLiteWriteTo() public void TestMessageLiteWriteTo()
{ {
TestRequiredLite msg = TestRequiredLite.CreateBuilder() TestRequiredLite msg = TestRequiredLite.CreateBuilder()
@ -82,10 +82,10 @@ namespace Google.ProtocolBuffers
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
msg.WriteTo(ms); msg.WriteTo(ms);
Assert.Equal(msg.ToByteArray(), ms.ToArray()); Assert.AreEqual(msg.ToByteArray(), ms.ToArray());
} }
[Fact] [Test]
public void TestMessageLiteWriteDelimitedTo() public void TestMessageLiteWriteDelimitedTo()
{ {
TestRequiredLite msg = TestRequiredLite.CreateBuilder() TestRequiredLite msg = TestRequiredLite.CreateBuilder()
@ -97,21 +97,21 @@ namespace Google.ProtocolBuffers
msg.WriteDelimitedTo(ms); msg.WriteDelimitedTo(ms);
byte[] buffer = ms.ToArray(); byte[] buffer = ms.ToArray();
Assert.Equal(5, buffer.Length); Assert.AreEqual(5, buffer.Length);
Assert.Equal(4, buffer[0]); Assert.AreEqual(4, buffer[0]);
byte[] msgBytes = new byte[4]; byte[] msgBytes = new byte[4];
Array.Copy(buffer, 1, msgBytes, 0, 4); Array.Copy(buffer, 1, msgBytes, 0, 4);
Assert.Equal(msg.ToByteArray(), msgBytes); Assert.AreEqual(msg.ToByteArray(), msgBytes);
} }
[Fact] [Test]
public void TestIMessageLiteWeakCreateBuilderForType() public void TestIMessageLiteWeakCreateBuilderForType()
{ {
IMessageLite msg = TestRequiredLite.DefaultInstance; IMessageLite msg = TestRequiredLite.DefaultInstance;
Assert.Equal(typeof(TestRequiredLite.Builder), msg.WeakCreateBuilderForType().GetType()); Assert.AreEqual(typeof(TestRequiredLite.Builder), msg.WeakCreateBuilderForType().GetType());
} }
[Fact] [Test]
public void TestMessageLiteWeakToBuilder() public void TestMessageLiteWeakToBuilder()
{ {
IMessageLite msg = TestRequiredLite.CreateBuilder() IMessageLite msg = TestRequiredLite.CreateBuilder()
@ -120,14 +120,14 @@ namespace Google.ProtocolBuffers
.Build(); .Build();
IMessageLite copy = msg.WeakToBuilder().WeakBuild(); IMessageLite copy = msg.WeakToBuilder().WeakBuild();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestMessageLiteWeakDefaultInstanceForType() public void TestMessageLiteWeakDefaultInstanceForType()
{ {
IMessageLite msg = TestRequiredLite.DefaultInstance; IMessageLite msg = TestRequiredLite.DefaultInstance;
Assert.True(Object.ReferenceEquals(TestRequiredLite.DefaultInstance, msg.WeakDefaultInstanceForType)); Assert.IsTrue(Object.ReferenceEquals(TestRequiredLite.DefaultInstance, msg.WeakDefaultInstanceForType));
} }
} }
} }

@ -37,29 +37,29 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class ExtendableBuilderLiteTest public class ExtendableBuilderLiteTest
{ {
[Fact] [Test]
public void TestHasExtensionT() public void TestHasExtensionT()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.SetExtension(UnittestLite.OptionalInt32ExtensionLite, 123); .SetExtension(UnittestLite.OptionalInt32ExtensionLite, 123);
Assert.True(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsTrue(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
} }
[Fact] [Test]
public void TestHasExtensionTMissing() public void TestHasExtensionTMissing()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.False(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsFalse(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
} }
[Fact] [Test]
public void TestGetExtensionCountT() public void TestGetExtensionCountT()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
@ -67,17 +67,17 @@ namespace Google.ProtocolBuffers
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2) .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2)
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 3); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 3);
Assert.Equal(3, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(3, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
} }
[Fact] [Test]
public void TestGetExtensionCountTEmpty() public void TestGetExtensionCountTEmpty()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.Equal(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
} }
[Fact] [Test]
public void TestGetExtensionTNull() public void TestGetExtensionTNull()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
@ -85,23 +85,23 @@ namespace Google.ProtocolBuffers
Assert.Null(value); Assert.Null(value);
} }
[Fact] [Test]
public void TestGetExtensionTValue() public void TestGetExtensionTValue()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.SetExtension(UnittestLite.OptionalInt32ExtensionLite, 3); .SetExtension(UnittestLite.OptionalInt32ExtensionLite, 3);
Assert.Equal(3, builder.GetExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.AreEqual(3, builder.GetExtension(UnittestLite.OptionalInt32ExtensionLite));
} }
[Fact] [Test]
public void TestGetExtensionTEmpty() public void TestGetExtensionTEmpty()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.Equal(0, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite).Count); Assert.AreEqual(0, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite).Count);
} }
[Fact] [Test]
public void TestGetExtensionTList() public void TestGetExtensionTList()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
@ -110,10 +110,10 @@ namespace Google.ProtocolBuffers
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 3); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 3);
IList<int> values = builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite); IList<int> values = builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite);
Assert.Equal(3, values.Count); Assert.AreEqual(3, values.Count);
} }
[Fact] [Test]
public void TestGetExtensionTIndex() public void TestGetExtensionTIndex()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
@ -122,17 +122,17 @@ namespace Google.ProtocolBuffers
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2);
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
Assert.Equal(i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i)); Assert.AreEqual(i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i));
} }
[Fact] [Test]
public void TestGetExtensionTIndexOutOfRange() public void TestGetExtensionTIndexOutOfRange()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.Throws<ArgumentOutOfRangeException>(() => builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0)); Assert.Throws<ArgumentOutOfRangeException>(() => builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0));
} }
[Fact] [Test]
public void TestSetExtensionTIndex() public void TestSetExtensionTIndex()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
@ -141,107 +141,107 @@ namespace Google.ProtocolBuffers
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 2);
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
Assert.Equal(i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i)); Assert.AreEqual(i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i));
builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0, 5); builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0, 5);
builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 1, 6); builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 1, 6);
builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 2, 7); builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 2, 7);
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
Assert.Equal(5 + i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i)); Assert.AreEqual(5 + i, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, i));
} }
[Fact] [Test]
public void TestSetExtensionTIndexOutOfRange() public void TestSetExtensionTIndexOutOfRange()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.Throws<ArgumentOutOfRangeException>(() => builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0, -1)); Assert.Throws<ArgumentOutOfRangeException>(() => builder.SetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0, -1));
} }
[Fact] [Test]
public void TestClearExtensionTList() public void TestClearExtensionTList()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0);
Assert.Equal(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
builder.ClearExtension(UnittestLite.RepeatedInt32ExtensionLite); builder.ClearExtension(UnittestLite.RepeatedInt32ExtensionLite);
Assert.Equal(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
} }
[Fact] [Test]
public void TestClearExtensionTValue() public void TestClearExtensionTValue()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.SetExtension(UnittestLite.OptionalInt32ExtensionLite, 0); .SetExtension(UnittestLite.OptionalInt32ExtensionLite, 0);
Assert.True(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsTrue(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
builder.ClearExtension(UnittestLite.OptionalInt32ExtensionLite); builder.ClearExtension(UnittestLite.OptionalInt32ExtensionLite);
Assert.False(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsFalse(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
} }
[Fact] [Test]
public void TestIndexedByDescriptor() public void TestIndexedByDescriptor()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.False(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsFalse(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
builder[UnittestLite.OptionalInt32ExtensionLite.Descriptor] = 123; builder[UnittestLite.OptionalInt32ExtensionLite.Descriptor] = 123;
Assert.True(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsTrue(builder.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
Assert.Equal(123, builder.GetExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.AreEqual(123, builder.GetExtension(UnittestLite.OptionalInt32ExtensionLite));
} }
[Fact] [Test]
public void TestIndexedByDescriptorAndOrdinal() public void TestIndexedByDescriptorAndOrdinal()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0);
Assert.Equal(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor; IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor;
builder[f, 0] = 123; builder[f, 0] = 123;
Assert.Equal(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
Assert.Equal(123, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0)); Assert.AreEqual(123, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0));
} }
[Fact] [Test]
public void TestIndexedByDescriptorAndOrdinalOutOfRange() public void TestIndexedByDescriptorAndOrdinalOutOfRange()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder();
Assert.Equal(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor; IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor;
Assert.Throws<ArgumentOutOfRangeException>(() => builder[f, 0] = 123); Assert.Throws<ArgumentOutOfRangeException>(() => builder[f, 0] = 123);
} }
[Fact] [Test]
public void TestClearFieldByDescriptor() public void TestClearFieldByDescriptor()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0);
Assert.Equal(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor; IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor;
builder.ClearField(f); builder.ClearField(f);
Assert.Equal(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(0, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
} }
[Fact] [Test]
public void TestAddRepeatedFieldByDescriptor() public void TestAddRepeatedFieldByDescriptor()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0); .AddExtension(UnittestLite.RepeatedInt32ExtensionLite, 0);
Assert.Equal(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(1, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor; IFieldDescriptorLite f = UnittestLite.RepeatedInt32ExtensionLite.Descriptor;
builder.AddRepeatedField(f, 123); builder.AddRepeatedField(f, 123);
Assert.Equal(2, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite)); Assert.AreEqual(2, builder.GetExtensionCount(UnittestLite.RepeatedInt32ExtensionLite));
Assert.Equal(123, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 1)); Assert.AreEqual(123, builder.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 1));
} }
[Fact] [Test]
public void TestMissingExtensionsLite() public void TestMissingExtensionsLite()
{ {
const int optionalInt32 = 12345678; const int optionalInt32 = 12345678;
@ -252,21 +252,21 @@ namespace Google.ProtocolBuffers
builder.AddExtension(UnittestLite.RepeatedDoubleExtensionLite, 1.3); builder.AddExtension(UnittestLite.RepeatedDoubleExtensionLite, 1.3);
TestAllExtensionsLite msg = builder.Build(); TestAllExtensionsLite msg = builder.Build();
Assert.True(msg.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsTrue(msg.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
Assert.Equal(3, msg.GetExtensionCount(UnittestLite.RepeatedDoubleExtensionLite)); Assert.AreEqual(3, msg.GetExtensionCount(UnittestLite.RepeatedDoubleExtensionLite));
byte[] bits = msg.ToByteArray(); byte[] bits = msg.ToByteArray();
TestAllExtensionsLite copy = TestAllExtensionsLite.ParseFrom(bits); TestAllExtensionsLite copy = TestAllExtensionsLite.ParseFrom(bits);
Assert.False(copy.HasExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.IsFalse(copy.HasExtension(UnittestLite.OptionalInt32ExtensionLite));
Assert.Equal(0, copy.GetExtensionCount(UnittestLite.RepeatedDoubleExtensionLite)); Assert.AreEqual(0, copy.GetExtensionCount(UnittestLite.RepeatedDoubleExtensionLite));
Assert.NotEqual(msg, copy); Assert.AreNotEqual(msg, copy);
//The lite runtime removes all unknown fields and extensions //The lite runtime removes all unknown fields and extensions
byte[] copybits = copy.ToByteArray(); byte[] copybits = copy.ToByteArray();
Assert.Equal(0, copybits.Length); Assert.AreEqual(0, copybits.Length);
} }
[Fact] [Test]
public void TestMissingFieldsLite() public void TestMissingFieldsLite()
{ {
TestAllTypesLite msg = TestAllTypesLite.CreateBuilder() TestAllTypesLite msg = TestAllTypesLite.CreateBuilder()
@ -276,13 +276,11 @@ namespace Google.ProtocolBuffers
byte[] bits = msg.ToByteArray(); byte[] bits = msg.ToByteArray();
IMessageLite copy = TestAllExtensionsLite.ParseFrom(bits); IMessageLite copy = TestAllExtensionsLite.ParseFrom(bits);
// Use explicit call to Equals to avoid xUnit checking for type equality. Assert.AreNotEqual(msg, copy);
Assert.False(msg.Equals(copy));
Assert.False(copy.Equals(msg));
//The lite runtime removes all unknown fields and extensions //The lite runtime removes all unknown fields and extensions
byte[] copybits = copy.ToByteArray(); byte[] copybits = copy.ToByteArray();
Assert.Equal(0, copybits.Length); Assert.AreEqual(0, copybits.Length);
} }
} }
} }

@ -39,7 +39,7 @@ using System.Collections.Generic;
using System.Text; using System.Text;
using Google.ProtocolBuffers; using Google.ProtocolBuffers;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -54,7 +54,7 @@ namespace Google.ProtocolBuffers
// ForeignMessageLite.DefaultInstance; // ForeignMessageLite.DefaultInstance;
//} //}
[Fact] [Test]
public void ExtensionWriterTestMessages() public void ExtensionWriterTestMessages()
{ {
TestAllExtensionsLite.Builder b = TestAllExtensionsLite.CreateBuilder().SetExtension( TestAllExtensionsLite.Builder b = TestAllExtensionsLite.CreateBuilder().SetExtension(
@ -66,20 +66,20 @@ namespace Google.ProtocolBuffers
UnittestLite.RegisterAllExtensions(registry); UnittestLite.RegisterAllExtensions(registry);
copy = TestAllExtensionsLite.ParseFrom(msg.ToByteArray(), registry); copy = TestAllExtensionsLite.ParseFrom(msg.ToByteArray(), registry);
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void ExtensionWriterIsInitialized() public void ExtensionWriterIsInitialized()
{ {
Assert.True(ForeignMessageLite.DefaultInstance.IsInitialized); Assert.IsTrue(ForeignMessageLite.DefaultInstance.IsInitialized);
Assert.True(TestPackedExtensionsLite.CreateBuilder().IsInitialized); Assert.IsTrue(TestPackedExtensionsLite.CreateBuilder().IsInitialized);
Assert.True(TestAllExtensionsLite.CreateBuilder().SetExtension( Assert.IsTrue(TestAllExtensionsLite.CreateBuilder().SetExtension(
UnittestLite.OptionalForeignMessageExtensionLite, ForeignMessageLite.DefaultInstance) UnittestLite.OptionalForeignMessageExtensionLite, ForeignMessageLite.DefaultInstance)
.IsInitialized); .IsInitialized);
} }
[Fact] [Test]
public void ExtensionWriterTestSetExtensionLists() public void ExtensionWriterTestSetExtensionLists()
{ {
TestAllExtensionsLite msg, copy; TestAllExtensionsLite msg, copy;
@ -95,13 +95,13 @@ namespace Google.ProtocolBuffers
UnittestLite.RegisterAllExtensions(registry); UnittestLite.RegisterAllExtensions(registry);
copy = TestAllExtensionsLite.ParseFrom(msg.ToByteArray(), registry); copy = TestAllExtensionsLite.ParseFrom(msg.ToByteArray(), registry);
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal(ForeignEnumLite.FOREIGN_LITE_FOO, Assert.AreEqual(ForeignEnumLite.FOREIGN_LITE_FOO,
copy.GetExtension(UnittestLite.RepeatedForeignEnumExtensionLite, 1)); copy.GetExtension(UnittestLite.RepeatedForeignEnumExtensionLite, 1));
} }
[Fact] [Test]
public void ExtensionWriterTest() public void ExtensionWriterTest()
{ {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder() TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
@ -180,82 +180,82 @@ namespace Google.ProtocolBuffers
TestAllExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry); TestAllExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry);
TestAllExtensionsLite copy = copyBuilder.Build(); TestAllExtensionsLite copy = copyBuilder.Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
Assert.Equal(true, copy.GetExtension(UnittestLite.DefaultBoolExtensionLite)); Assert.AreEqual(true, copy.GetExtension(UnittestLite.DefaultBoolExtensionLite));
Assert.Equal(ByteString.CopyFromUtf8("123"), Assert.AreEqual(ByteString.CopyFromUtf8("123"),
copy.GetExtension(UnittestLite.DefaultBytesExtensionLite)); copy.GetExtension(UnittestLite.DefaultBytesExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.DefaultCordExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.DefaultCordExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultDoubleExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultDoubleExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.DefaultFixed32ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.DefaultFixed32ExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.DefaultFixed64ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.DefaultFixed64ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultFloatExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultFloatExtensionLite));
Assert.Equal(ForeignEnumLite.FOREIGN_LITE_BAZ, Assert.AreEqual(ForeignEnumLite.FOREIGN_LITE_BAZ,
copy.GetExtension(UnittestLite.DefaultForeignEnumExtensionLite)); copy.GetExtension(UnittestLite.DefaultForeignEnumExtensionLite));
Assert.Equal(ImportEnumLite.IMPORT_LITE_BAZ, Assert.AreEqual(ImportEnumLite.IMPORT_LITE_BAZ,
copy.GetExtension(UnittestLite.DefaultImportEnumExtensionLite)); copy.GetExtension(UnittestLite.DefaultImportEnumExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultInt32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultInt32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultInt64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultInt64ExtensionLite));
Assert.Equal(TestAllTypesLite.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypesLite.Types.NestedEnum.FOO,
copy.GetExtension(UnittestLite.DefaultNestedEnumExtensionLite)); copy.GetExtension(UnittestLite.DefaultNestedEnumExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultSfixed32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultSfixed32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultSfixed64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultSfixed64ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultSint32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultSint32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.DefaultSint64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.DefaultSint64ExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.DefaultStringExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.DefaultStringExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.DefaultStringPieceExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.DefaultStringPieceExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.DefaultUint32ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.DefaultUint32ExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.DefaultUint64ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.DefaultUint64ExtensionLite));
Assert.Equal(true, copy.GetExtension(UnittestLite.OptionalBoolExtensionLite)); Assert.AreEqual(true, copy.GetExtension(UnittestLite.OptionalBoolExtensionLite));
Assert.Equal(ByteString.CopyFromUtf8("123"), Assert.AreEqual(ByteString.CopyFromUtf8("123"),
copy.GetExtension(UnittestLite.OptionalBytesExtensionLite)); copy.GetExtension(UnittestLite.OptionalBytesExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.OptionalCordExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.OptionalCordExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalDoubleExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalDoubleExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.OptionalFixed32ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.OptionalFixed32ExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.OptionalFixed64ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.OptionalFixed64ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalFloatExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalFloatExtensionLite));
Assert.Equal(ForeignEnumLite.FOREIGN_LITE_BAZ, Assert.AreEqual(ForeignEnumLite.FOREIGN_LITE_BAZ,
copy.GetExtension(UnittestLite.OptionalForeignEnumExtensionLite)); copy.GetExtension(UnittestLite.OptionalForeignEnumExtensionLite));
Assert.Equal(ImportEnumLite.IMPORT_LITE_BAZ, Assert.AreEqual(ImportEnumLite.IMPORT_LITE_BAZ,
copy.GetExtension(UnittestLite.OptionalImportEnumExtensionLite)); copy.GetExtension(UnittestLite.OptionalImportEnumExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalInt32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalInt32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalInt64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalInt64ExtensionLite));
Assert.Equal(TestAllTypesLite.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypesLite.Types.NestedEnum.FOO,
copy.GetExtension(UnittestLite.OptionalNestedEnumExtensionLite)); copy.GetExtension(UnittestLite.OptionalNestedEnumExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalSfixed32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalSfixed32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalSfixed64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalSfixed64ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalSint32ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalSint32ExtensionLite));
Assert.Equal(123, copy.GetExtension(UnittestLite.OptionalSint64ExtensionLite)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.OptionalSint64ExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.OptionalStringExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.OptionalStringExtensionLite));
Assert.Equal("123", copy.GetExtension(UnittestLite.OptionalStringPieceExtensionLite)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.OptionalStringPieceExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.OptionalUint32ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.OptionalUint32ExtensionLite));
Assert.Equal(123u, copy.GetExtension(UnittestLite.OptionalUint64ExtensionLite)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.OptionalUint64ExtensionLite));
Assert.Equal(true, copy.GetExtension(UnittestLite.RepeatedBoolExtensionLite, 0)); Assert.AreEqual(true, copy.GetExtension(UnittestLite.RepeatedBoolExtensionLite, 0));
Assert.Equal(ByteString.CopyFromUtf8("123"), Assert.AreEqual(ByteString.CopyFromUtf8("123"),
copy.GetExtension(UnittestLite.RepeatedBytesExtensionLite, 0)); copy.GetExtension(UnittestLite.RepeatedBytesExtensionLite, 0));
Assert.Equal("123", copy.GetExtension(UnittestLite.RepeatedCordExtensionLite, 0)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.RepeatedCordExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedDoubleExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedDoubleExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.RepeatedFixed32ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.RepeatedFixed32ExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.RepeatedFixed64ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.RepeatedFixed64ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedFloatExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedFloatExtensionLite, 0));
Assert.Equal(ForeignEnumLite.FOREIGN_LITE_BAZ, Assert.AreEqual(ForeignEnumLite.FOREIGN_LITE_BAZ,
copy.GetExtension(UnittestLite.RepeatedForeignEnumExtensionLite, 0)); copy.GetExtension(UnittestLite.RepeatedForeignEnumExtensionLite, 0));
Assert.Equal(ImportEnumLite.IMPORT_LITE_BAZ, Assert.AreEqual(ImportEnumLite.IMPORT_LITE_BAZ,
copy.GetExtension(UnittestLite.RepeatedImportEnumExtensionLite, 0)); copy.GetExtension(UnittestLite.RepeatedImportEnumExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedInt32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedInt64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedInt64ExtensionLite, 0));
Assert.Equal(TestAllTypesLite.Types.NestedEnum.FOO, Assert.AreEqual(TestAllTypesLite.Types.NestedEnum.FOO,
copy.GetExtension(UnittestLite.RepeatedNestedEnumExtensionLite, 0)); copy.GetExtension(UnittestLite.RepeatedNestedEnumExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedSfixed32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedSfixed32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedSfixed64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedSfixed64ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedSint32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedSint32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.RepeatedSint64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.RepeatedSint64ExtensionLite, 0));
Assert.Equal("123", copy.GetExtension(UnittestLite.RepeatedStringExtensionLite, 0)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.RepeatedStringExtensionLite, 0));
Assert.Equal("123", copy.GetExtension(UnittestLite.RepeatedStringPieceExtensionLite, 0)); Assert.AreEqual("123", copy.GetExtension(UnittestLite.RepeatedStringPieceExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.RepeatedUint32ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.RepeatedUint32ExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.RepeatedUint64ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.RepeatedUint64ExtensionLite, 0));
} }
private TestPackedExtensionsLite BuildPackedExtensions() private TestPackedExtensionsLite BuildPackedExtensions()
@ -294,36 +294,36 @@ namespace Google.ProtocolBuffers
private void AssertPackedExtensions(TestPackedExtensionsLite copy) private void AssertPackedExtensions(TestPackedExtensionsLite copy)
{ {
Assert.Equal(true, copy.GetExtension(UnittestLite.PackedBoolExtensionLite, 0)); Assert.AreEqual(true, copy.GetExtension(UnittestLite.PackedBoolExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedDoubleExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedDoubleExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedFixed32ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedFixed32ExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedFixed64ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedFixed64ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedFloatExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedFloatExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedInt32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedInt32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedInt64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedInt64ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSfixed32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSfixed32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSfixed64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSfixed64ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSint32ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSint32ExtensionLite, 0));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSint64ExtensionLite, 0)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSint64ExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedUint32ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedUint32ExtensionLite, 0));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedUint64ExtensionLite, 0)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedUint64ExtensionLite, 0));
Assert.Equal(true, copy.GetExtension(UnittestLite.PackedBoolExtensionLite, 1)); Assert.AreEqual(true, copy.GetExtension(UnittestLite.PackedBoolExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedDoubleExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedDoubleExtensionLite, 1));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedFixed32ExtensionLite, 1)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedFixed32ExtensionLite, 1));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedFixed64ExtensionLite, 1)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedFixed64ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedFloatExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedFloatExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedInt32ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedInt32ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedInt64ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedInt64ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSfixed32ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSfixed32ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSfixed64ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSfixed64ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSint32ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSint32ExtensionLite, 1));
Assert.Equal(123, copy.GetExtension(UnittestLite.PackedSint64ExtensionLite, 1)); Assert.AreEqual(123, copy.GetExtension(UnittestLite.PackedSint64ExtensionLite, 1));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedUint32ExtensionLite, 1)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedUint32ExtensionLite, 1));
Assert.Equal(123u, copy.GetExtension(UnittestLite.PackedUint64ExtensionLite, 1)); Assert.AreEqual(123u, copy.GetExtension(UnittestLite.PackedUint64ExtensionLite, 1));
} }
[Fact] [Test]
public void ExtensionWriterTestPacked() public void ExtensionWriterTestPacked()
{ {
TestPackedExtensionsLite msg = BuildPackedExtensions(); TestPackedExtensionsLite msg = BuildPackedExtensions();
@ -335,12 +335,12 @@ namespace Google.ProtocolBuffers
TestPackedExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry); TestPackedExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry);
TestPackedExtensionsLite copy = copyBuilder.Build(); TestPackedExtensionsLite copy = copyBuilder.Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
AssertPackedExtensions(copy); AssertPackedExtensions(copy);
} }
[Fact] [Test]
public void TestUnpackedAndPackedExtensions() public void TestUnpackedAndPackedExtensions()
{ {
TestPackedExtensionsLite original = BuildPackedExtensions(); TestPackedExtensionsLite original = BuildPackedExtensions();
@ -354,19 +354,19 @@ namespace Google.ProtocolBuffers
TestPackedExtensionsLite packed = TestPackedExtensionsLite.ParseFrom(unpacked.ToByteArray(), registry); TestPackedExtensionsLite packed = TestPackedExtensionsLite.ParseFrom(unpacked.ToByteArray(), registry);
Assert.Equal(original, packed); Assert.AreEqual(original, packed);
Assert.Equal(original.ToByteArray(), packed.ToByteArray()); Assert.AreEqual(original.ToByteArray(), packed.ToByteArray());
AssertPackedExtensions(packed); AssertPackedExtensions(packed);
} }
[Fact] [Test]
public void TestUnpackedFromPackedInput() public void TestUnpackedFromPackedInput()
{ {
byte[] packedData = BuildPackedExtensions().ToByteArray(); byte[] packedData = BuildPackedExtensions().ToByteArray();
TestUnpackedTypesLite unpacked = TestUnpackedTypesLite.ParseFrom(packedData); TestUnpackedTypesLite unpacked = TestUnpackedTypesLite.ParseFrom(packedData);
TestPackedTypesLite packed = TestPackedTypesLite.ParseFrom(unpacked.ToByteArray()); TestPackedTypesLite packed = TestPackedTypesLite.ParseFrom(unpacked.ToByteArray());
Assert.Equal(packedData, packed.ToByteArray()); Assert.AreEqual(packedData, packed.ToByteArray());
unpacked = TestUnpackedTypesLite.ParseFrom(packed.ToByteArray()); unpacked = TestUnpackedTypesLite.ParseFrom(packed.ToByteArray());

@ -36,27 +36,27 @@
using System; using System;
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class InteropLiteTest public class InteropLiteTest
{ {
[Fact] [Test]
public void TestConvertFromFullMinimal() public void TestConvertFromFullMinimal()
{ {
TestInteropPerson person = TestInteropPerson.CreateBuilder() TestInteropPerson person = TestInteropPerson.CreateBuilder()
.SetId(123) .SetId(123)
.SetName("abc") .SetName("abc")
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
TestInteropPersonLite copy = TestInteropPersonLite.ParseFrom(person.ToByteArray()); TestInteropPersonLite copy = TestInteropPersonLite.ParseFrom(person.ToByteArray());
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestConvertFromFullComplete() public void TestConvertFromFullComplete()
{ {
TestInteropPerson person = TestInteropPerson.CreateBuilder() TestInteropPerson person = TestInteropPerson.CreateBuilder()
@ -72,7 +72,7 @@ namespace Google.ProtocolBuffers
.SetExtension(UnittestExtrasFull.EmployeeId, .SetExtension(UnittestExtrasFull.EmployeeId,
TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build()) TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build())
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
UnittestExtrasLite.RegisterAllExtensions(registry); UnittestExtrasLite.RegisterAllExtensions(registry);
@ -81,24 +81,24 @@ namespace Google.ProtocolBuffers
TestInteropPersonLite copy = TestInteropPersonLite.ParseFrom(fullBytes, registry); TestInteropPersonLite copy = TestInteropPersonLite.ParseFrom(fullBytes, registry);
byte[] liteBytes = copy.ToByteArray(); byte[] liteBytes = copy.ToByteArray();
Assert.Equal(fullBytes, liteBytes); Assert.AreEqual(fullBytes, liteBytes);
} }
[Fact] [Test]
public void TestConvertFromLiteMinimal() public void TestConvertFromLiteMinimal()
{ {
TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder() TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder()
.SetId(123) .SetId(123)
.SetName("abc") .SetName("abc")
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray()); TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray());
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestConvertFromLiteComplete() public void TestConvertFromLiteComplete()
{ {
TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder() TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder()
@ -114,14 +114,14 @@ namespace Google.ProtocolBuffers
.SetExtension(UnittestExtrasLite.EmployeeIdLite, .SetExtension(UnittestExtrasLite.EmployeeIdLite,
TestInteropEmployeeIdLite.CreateBuilder().SetNumber("123").Build()) TestInteropEmployeeIdLite.CreateBuilder().SetNumber("123").Build())
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
UnittestExtrasFull.RegisterAllExtensions(registry); UnittestExtrasFull.RegisterAllExtensions(registry);
TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray(), registry); TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray(), registry);
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
} }
public ByteString AllBytes public ByteString AllBytes
@ -135,7 +135,7 @@ namespace Google.ProtocolBuffers
} }
} }
[Fact] [Test]
public void TestCompareStringValues() public void TestCompareStringValues()
{ {
TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder() TestInteropPersonLite person = TestInteropPersonLite.CreateBuilder()
@ -153,14 +153,14 @@ namespace Google.ProtocolBuffers
.SetExtension(UnittestExtrasLite.EmployeeIdLite, .SetExtension(UnittestExtrasLite.EmployeeIdLite,
TestInteropEmployeeIdLite.CreateBuilder().SetNumber("123").Build()) TestInteropEmployeeIdLite.CreateBuilder().SetNumber("123").Build())
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
UnittestExtrasFull.RegisterAllExtensions(registry); UnittestExtrasFull.RegisterAllExtensions(registry);
TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray(), registry); TestInteropPerson copy = TestInteropPerson.ParseFrom(person.ToByteArray(), registry);
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
TestInteropPerson.Builder copyBuilder = TestInteropPerson.CreateBuilder(); TestInteropPerson.Builder copyBuilder = TestInteropPerson.CreateBuilder();
TextFormat.Merge( TextFormat.Merge(
@ -168,7 +168,7 @@ namespace Google.ProtocolBuffers
"[protobuf_unittest_extra.employee_id]"), registry, copyBuilder); "[protobuf_unittest_extra.employee_id]"), registry, copyBuilder);
copy = copyBuilder.Build(); copy = copyBuilder.Build();
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
string liteText = person.ToString().TrimEnd().Replace("\r", ""); string liteText = person.ToString().TrimEnd().Replace("\r", "");
string fullText = copy.ToString().TrimEnd().Replace("\r", ""); string fullText = copy.ToString().TrimEnd().Replace("\r", "");
@ -179,7 +179,7 @@ namespace Google.ProtocolBuffers
while (fullText.IndexOf("\n ", StringComparison.Ordinal) >= 0) while (fullText.IndexOf("\n ", StringComparison.Ordinal) >= 0)
fullText = fullText.Replace("\n ", "\n"); fullText = fullText.Replace("\n ", "\n");
Assert.Equal(fullText, liteText); Assert.AreEqual(fullText, liteText);
} }
} }
} }

@ -35,7 +35,7 @@
#endregion #endregion
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
@ -45,7 +45,7 @@ namespace Google.ProtocolBuffers
/// </summary> /// </summary>
public class LiteTest public class LiteTest
{ {
[Fact] [Test]
public void TestLite() public void TestLite()
{ {
// Since lite messages are a subset of regular messages, we can mostly // Since lite messages are a subset of regular messages, we can mostly
@ -68,13 +68,13 @@ namespace Google.ProtocolBuffers
TestAllTypesLite message2 = TestAllTypesLite.ParseFrom(data); TestAllTypesLite message2 = TestAllTypesLite.ParseFrom(data);
Assert.Equal(123, message2.OptionalInt32); Assert.AreEqual(123, message2.OptionalInt32);
Assert.Equal(1, message2.RepeatedStringCount); Assert.AreEqual(1, message2.RepeatedStringCount);
Assert.Equal("hello", message2.RepeatedStringList[0]); Assert.AreEqual("hello", message2.RepeatedStringList[0]);
Assert.Equal(7, message2.OptionalNestedMessage.Bb); Assert.AreEqual(7, message2.OptionalNestedMessage.Bb);
} }
[Fact] [Test]
public void TestLiteExtensions() public void TestLiteExtensions()
{ {
// TODO(kenton): Unlike other features of the lite library, extensions are // TODO(kenton): Unlike other features of the lite library, extensions are
@ -96,17 +96,17 @@ namespace Google.ProtocolBuffers
// writing, parsing hasn't been implemented yet. // writing, parsing hasn't been implemented yet.
TestAllExtensionsLite message2 = message.ToBuilder().Build(); TestAllExtensionsLite message2 = message.ToBuilder().Build();
Assert.Equal(123, (int) message2.GetExtension( Assert.AreEqual(123, (int) message2.GetExtension(
UnittestLite.OptionalInt32ExtensionLite)); UnittestLite.OptionalInt32ExtensionLite));
Assert.Equal(1, message2.GetExtensionCount( Assert.AreEqual(1, message2.GetExtensionCount(
UnittestLite.RepeatedStringExtensionLite)); UnittestLite.RepeatedStringExtensionLite));
Assert.Equal(1, message2.GetExtension( Assert.AreEqual(1, message2.GetExtension(
UnittestLite.RepeatedStringExtensionLite).Count); UnittestLite.RepeatedStringExtensionLite).Count);
Assert.Equal("hello", message2.GetExtension( Assert.AreEqual("hello", message2.GetExtension(
UnittestLite.RepeatedStringExtensionLite, 0)); UnittestLite.RepeatedStringExtensionLite, 0));
Assert.Equal(TestAllTypesLite.Types.NestedEnum.BAZ, message2.GetExtension( Assert.AreEqual(TestAllTypesLite.Types.NestedEnum.BAZ, message2.GetExtension(
UnittestLite.OptionalNestedEnumExtensionLite)); UnittestLite.OptionalNestedEnumExtensionLite));
Assert.Equal(7, message2.GetExtension( Assert.AreEqual(7, message2.GetExtension(
UnittestLite.OptionalNestedMessageExtensionLite).Bb); UnittestLite.OptionalNestedMessageExtensionLite).Bb);
} }
} }

@ -35,13 +35,13 @@
#endregion #endregion
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class MissingFieldAndExtensionTest public class MissingFieldAndExtensionTest
{ {
[Fact] [Test]
public void TestRecoverMissingExtensions() public void TestRecoverMissingExtensions()
{ {
const int optionalInt32 = 12345678; const int optionalInt32 = 12345678;
@ -52,42 +52,42 @@ namespace Google.ProtocolBuffers
builder.AddExtension(Unittest.RepeatedDoubleExtension, 1.3); builder.AddExtension(Unittest.RepeatedDoubleExtension, 1.3);
TestAllExtensions msg = builder.Build(); TestAllExtensions msg = builder.Build();
Assert.True(msg.HasExtension(Unittest.OptionalInt32Extension)); Assert.IsTrue(msg.HasExtension(Unittest.OptionalInt32Extension));
Assert.Equal(3, msg.GetExtensionCount(Unittest.RepeatedDoubleExtension)); Assert.AreEqual(3, msg.GetExtensionCount(Unittest.RepeatedDoubleExtension));
byte[] bits = msg.ToByteArray(); byte[] bits = msg.ToByteArray();
TestAllExtensions copy = TestAllExtensions.ParseFrom(bits); TestAllExtensions copy = TestAllExtensions.ParseFrom(bits);
Assert.False(copy.HasExtension(Unittest.OptionalInt32Extension)); Assert.IsFalse(copy.HasExtension(Unittest.OptionalInt32Extension));
Assert.Equal(0, copy.GetExtensionCount(Unittest.RepeatedDoubleExtension)); Assert.AreEqual(0, copy.GetExtensionCount(Unittest.RepeatedDoubleExtension));
Assert.NotEqual(msg, copy); Assert.AreNotEqual(msg, copy);
//Even though copy does not understand the typees they serialize correctly //Even though copy does not understand the typees they serialize correctly
byte[] copybits = copy.ToByteArray(); byte[] copybits = copy.ToByteArray();
Assert.Equal(bits, copybits); Assert.AreEqual(bits, copybits);
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
Unittest.RegisterAllExtensions(registry); Unittest.RegisterAllExtensions(registry);
//Now we can take those copy bits and restore the full message with extensions //Now we can take those copy bits and restore the full message with extensions
copy = TestAllExtensions.ParseFrom(copybits, registry); copy = TestAllExtensions.ParseFrom(copybits, registry);
Assert.True(copy.HasExtension(Unittest.OptionalInt32Extension)); Assert.IsTrue(copy.HasExtension(Unittest.OptionalInt32Extension));
Assert.Equal(3, copy.GetExtensionCount(Unittest.RepeatedDoubleExtension)); Assert.AreEqual(3, copy.GetExtensionCount(Unittest.RepeatedDoubleExtension));
Assert.Equal(msg, copy); Assert.AreEqual(msg, copy);
Assert.Equal(bits, copy.ToByteArray()); Assert.AreEqual(bits, copy.ToByteArray());
//If we modify the object this should all continue to work as before //If we modify the object this should all continue to work as before
copybits = copy.ToBuilder().Build().ToByteArray(); copybits = copy.ToBuilder().Build().ToByteArray();
Assert.Equal(bits, copybits); Assert.AreEqual(bits, copybits);
//If we replace extension the object this should all continue to work as before //If we replace extension the object this should all continue to work as before
copybits = copy.ToBuilder() copybits = copy.ToBuilder()
.SetExtension(Unittest.OptionalInt32Extension, optionalInt32) .SetExtension(Unittest.OptionalInt32Extension, optionalInt32)
.Build().ToByteArray(); .Build().ToByteArray();
Assert.Equal(bits, copybits); Assert.AreEqual(bits, copybits);
} }
[Fact] [Test]
public void TestRecoverMissingFields() public void TestRecoverMissingFields()
{ {
TestMissingFieldsA msga = TestMissingFieldsA.CreateBuilder() TestMissingFieldsA msga = TestMissingFieldsA.CreateBuilder()
@ -98,53 +98,53 @@ namespace Google.ProtocolBuffers
//serialize to type B and verify all fields exist //serialize to type B and verify all fields exist
TestMissingFieldsB msgb = TestMissingFieldsB.ParseFrom(msga.ToByteArray()); TestMissingFieldsB msgb = TestMissingFieldsB.ParseFrom(msga.ToByteArray());
Assert.Equal(1001, msgb.Id); Assert.AreEqual(1001, msgb.Id);
Assert.Equal("Name", msgb.Name); Assert.AreEqual("Name", msgb.Name);
Assert.False(msgb.HasWebsite); Assert.IsFalse(msgb.HasWebsite);
Assert.Equal(1, msgb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, msgb.UnknownFields.FieldDictionary.Count);
Assert.Equal("missing@field.value", Assert.AreEqual("missing@field.value",
msgb.UnknownFields[TestMissingFieldsA.EmailFieldNumber].LengthDelimitedList[0].ToStringUtf8()); msgb.UnknownFields[TestMissingFieldsA.EmailFieldNumber].LengthDelimitedList[0].ToStringUtf8());
//serializes exactly the same (at least for this simple example) //serializes exactly the same (at least for this simple example)
Assert.Equal(msga.ToByteArray(), msgb.ToByteArray()); Assert.AreEqual(msga.ToByteArray(), msgb.ToByteArray());
Assert.Equal(msga, TestMissingFieldsA.ParseFrom(msgb.ToByteArray())); Assert.AreEqual(msga, TestMissingFieldsA.ParseFrom(msgb.ToByteArray()));
//now re-create an exact copy of A from serialized B //now re-create an exact copy of A from serialized B
TestMissingFieldsA copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray()); TestMissingFieldsA copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray());
Assert.Equal(msga, copya); Assert.AreEqual(msga, copya);
Assert.Equal(1001, copya.Id); Assert.AreEqual(1001, copya.Id);
Assert.Equal("Name", copya.Name); Assert.AreEqual("Name", copya.Name);
Assert.Equal("missing@field.value", copya.Email); Assert.AreEqual("missing@field.value", copya.Email);
//Now we modify B... and try again //Now we modify B... and try again
msgb = msgb.ToBuilder().SetWebsite("http://new.missing.field").Build(); msgb = msgb.ToBuilder().SetWebsite("http://new.missing.field").Build();
//Does B still have the missing field? //Does B still have the missing field?
Assert.Equal(1, msgb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, msgb.UnknownFields.FieldDictionary.Count);
//Convert back to A and see if all fields are there? //Convert back to A and see if all fields are there?
copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray()); copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray());
Assert.NotEqual(msga, copya); Assert.AreNotEqual(msga, copya);
Assert.Equal(1001, copya.Id); Assert.AreEqual(1001, copya.Id);
Assert.Equal("Name", copya.Name); Assert.AreEqual("Name", copya.Name);
Assert.Equal("missing@field.value", copya.Email); Assert.AreEqual("missing@field.value", copya.Email);
Assert.Equal(1, copya.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, copya.UnknownFields.FieldDictionary.Count);
Assert.Equal("http://new.missing.field", Assert.AreEqual("http://new.missing.field",
copya.UnknownFields[TestMissingFieldsB.WebsiteFieldNumber].LengthDelimitedList[0]. copya.UnknownFields[TestMissingFieldsB.WebsiteFieldNumber].LengthDelimitedList[0].
ToStringUtf8()); ToStringUtf8());
//Lastly we can even still trip back to type B and see all fields: //Lastly we can even still trip back to type B and see all fields:
TestMissingFieldsB copyb = TestMissingFieldsB.ParseFrom(copya.ToByteArray()); TestMissingFieldsB copyb = TestMissingFieldsB.ParseFrom(copya.ToByteArray());
Assert.Equal(copya.ToByteArray().Length, copyb.ToByteArray().Length); //not exact order. Assert.AreEqual(copya.ToByteArray().Length, copyb.ToByteArray().Length); //not exact order.
Assert.Equal(1001, copyb.Id); Assert.AreEqual(1001, copyb.Id);
Assert.Equal("Name", copyb.Name); Assert.AreEqual("Name", copyb.Name);
Assert.Equal("http://new.missing.field", copyb.Website); Assert.AreEqual("http://new.missing.field", copyb.Website);
Assert.Equal(1, copyb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, copyb.UnknownFields.FieldDictionary.Count);
Assert.Equal("missing@field.value", Assert.AreEqual("missing@field.value",
copyb.UnknownFields[TestMissingFieldsA.EmailFieldNumber].LengthDelimitedList[0].ToStringUtf8 copyb.UnknownFields[TestMissingFieldsA.EmailFieldNumber].LengthDelimitedList[0].ToStringUtf8
()); ());
} }
[Fact] [Test]
public void TestRecoverMissingMessage() public void TestRecoverMissingMessage()
{ {
TestMissingFieldsA.Types.SubA suba = TestMissingFieldsA.Types.SubA suba =
@ -158,52 +158,52 @@ namespace Google.ProtocolBuffers
//serialize to type B and verify all fields exist //serialize to type B and verify all fields exist
TestMissingFieldsB msgb = TestMissingFieldsB.ParseFrom(msga.ToByteArray()); TestMissingFieldsB msgb = TestMissingFieldsB.ParseFrom(msga.ToByteArray());
Assert.Equal(1001, msgb.Id); Assert.AreEqual(1001, msgb.Id);
Assert.Equal("Name", msgb.Name); Assert.AreEqual("Name", msgb.Name);
Assert.Equal(1, msgb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, msgb.UnknownFields.FieldDictionary.Count);
Assert.Equal(suba.ToString(), Assert.AreEqual(suba.ToString(),
TestMissingFieldsA.Types.SubA.ParseFrom( TestMissingFieldsA.Types.SubA.ParseFrom(
msgb.UnknownFields[TestMissingFieldsA.TestAFieldNumber].LengthDelimitedList[0]).ToString msgb.UnknownFields[TestMissingFieldsA.TestAFieldNumber].LengthDelimitedList[0]).ToString
()); ());
//serializes exactly the same (at least for this simple example) //serializes exactly the same (at least for this simple example)
Assert.Equal(msga.ToByteArray(), msgb.ToByteArray()); Assert.AreEqual(msga.ToByteArray(), msgb.ToByteArray());
Assert.Equal(msga, TestMissingFieldsA.ParseFrom(msgb.ToByteArray())); Assert.AreEqual(msga, TestMissingFieldsA.ParseFrom(msgb.ToByteArray()));
//now re-create an exact copy of A from serialized B //now re-create an exact copy of A from serialized B
TestMissingFieldsA copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray()); TestMissingFieldsA copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray());
Assert.Equal(msga, copya); Assert.AreEqual(msga, copya);
Assert.Equal(1001, copya.Id); Assert.AreEqual(1001, copya.Id);
Assert.Equal("Name", copya.Name); Assert.AreEqual("Name", copya.Name);
Assert.Equal(suba, copya.TestA); Assert.AreEqual(suba, copya.TestA);
//Now we modify B... and try again //Now we modify B... and try again
TestMissingFieldsB.Types.SubB subb = TestMissingFieldsB.Types.SubB subb =
TestMissingFieldsB.Types.SubB.CreateBuilder().AddValues("test-b").Build(); TestMissingFieldsB.Types.SubB.CreateBuilder().AddValues("test-b").Build();
msgb = msgb.ToBuilder().SetTestB(subb).Build(); msgb = msgb.ToBuilder().SetTestB(subb).Build();
//Does B still have the missing field? //Does B still have the missing field?
Assert.Equal(1, msgb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, msgb.UnknownFields.FieldDictionary.Count);
//Convert back to A and see if all fields are there? //Convert back to A and see if all fields are there?
copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray()); copya = TestMissingFieldsA.ParseFrom(msgb.ToByteArray());
Assert.NotEqual(msga, copya); Assert.AreNotEqual(msga, copya);
Assert.Equal(1001, copya.Id); Assert.AreEqual(1001, copya.Id);
Assert.Equal("Name", copya.Name); Assert.AreEqual("Name", copya.Name);
Assert.Equal(suba, copya.TestA); Assert.AreEqual(suba, copya.TestA);
Assert.Equal(1, copya.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, copya.UnknownFields.FieldDictionary.Count);
Assert.Equal(subb.ToByteArray(), Assert.AreEqual(subb.ToByteArray(),
copya.UnknownFields[TestMissingFieldsB.TestBFieldNumber].LengthDelimitedList[0].ToByteArray()); copya.UnknownFields[TestMissingFieldsB.TestBFieldNumber].LengthDelimitedList[0].ToByteArray());
//Lastly we can even still trip back to type B and see all fields: //Lastly we can even still trip back to type B and see all fields:
TestMissingFieldsB copyb = TestMissingFieldsB.ParseFrom(copya.ToByteArray()); TestMissingFieldsB copyb = TestMissingFieldsB.ParseFrom(copya.ToByteArray());
Assert.Equal(copya.ToByteArray().Length, copyb.ToByteArray().Length); //not exact order. Assert.AreEqual(copya.ToByteArray().Length, copyb.ToByteArray().Length); //not exact order.
Assert.Equal(1001, copyb.Id); Assert.AreEqual(1001, copyb.Id);
Assert.Equal("Name", copyb.Name); Assert.AreEqual("Name", copyb.Name);
Assert.Equal(subb, copyb.TestB); Assert.AreEqual(subb, copyb.TestB);
Assert.Equal(1, copyb.UnknownFields.FieldDictionary.Count); Assert.AreEqual(1, copyb.UnknownFields.FieldDictionary.Count);
} }
[Fact] [Test]
public void TestRestoreFromOtherType() public void TestRestoreFromOtherType()
{ {
TestInteropPerson person = TestInteropPerson.CreateBuilder() TestInteropPerson person = TestInteropPerson.CreateBuilder()
@ -219,19 +219,19 @@ namespace Google.ProtocolBuffers
.SetExtension(UnittestExtrasFull.EmployeeId, .SetExtension(UnittestExtrasFull.EmployeeId,
TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build()) TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build())
.Build(); .Build();
Assert.True(person.IsInitialized); Assert.IsTrue(person.IsInitialized);
TestEmptyMessage temp = TestEmptyMessage.ParseFrom(person.ToByteArray()); TestEmptyMessage temp = TestEmptyMessage.ParseFrom(person.ToByteArray());
Assert.Equal(7, temp.UnknownFields.FieldDictionary.Count); Assert.AreEqual(7, temp.UnknownFields.FieldDictionary.Count);
temp = temp.ToBuilder().Build(); temp = temp.ToBuilder().Build();
Assert.Equal(7, temp.UnknownFields.FieldDictionary.Count); Assert.AreEqual(7, temp.UnknownFields.FieldDictionary.Count);
ExtensionRegistry registry = ExtensionRegistry.CreateInstance(); ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
UnittestExtrasFull.RegisterAllExtensions(registry); UnittestExtrasFull.RegisterAllExtensions(registry);
TestInteropPerson copy = TestInteropPerson.ParseFrom(temp.ToByteArray(), registry); TestInteropPerson copy = TestInteropPerson.ParseFrom(temp.ToByteArray(), registry);
Assert.Equal(person, copy); Assert.AreEqual(person, copy);
Assert.Equal(person.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
} }
} }
} }

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" />
<Import Project="..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -19,6 +17,8 @@
<OldToolsVersion>3.5</OldToolsVersion> <OldToolsVersion>3.5</OldToolsVersion>
<TargetFrameworkProfile> <TargetFrameworkProfile>
</TargetFrameworkProfile> </TargetFrameworkProfile>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
@ -49,17 +49,28 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<Reference Include="System.Xml" /> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
<Reference Include="xunit.abstractions"> <Private>True</Private>
<HintPath>..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll</HintPath> </Reference>
<Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.assert"> <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.assert.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.assert.dll</HintPath> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.core"> <Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll</HintPath> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs"> <Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs">
@ -90,6 +101,9 @@
<ItemGroup> <ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
@ -98,11 +112,4 @@
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props'))" />
<Error Condition="!Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props'))" />
</Target>
</Project> </Project>

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" />
<Import Project="..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -49,17 +47,28 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<Reference Include="System.Xml" /> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
<Reference Include="xunit.abstractions"> <Private>True</Private>
<HintPath>..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll</HintPath> </Reference>
<Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.assert"> <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.assert.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.assert.dll</HintPath> <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="xunit.core"> <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll</HintPath> <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs"> <Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs">
@ -100,11 +109,4 @@
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.props'))" />
<Error Condition="!Exists('..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.runner.visualstudio.2.0.0\build\net20\xunit.runner.visualstudio.props'))" />
</Target>
</Project> </Project>

@ -35,66 +35,66 @@
#endregion #endregion
using Google.ProtocolBuffers.TestProtos; using Google.ProtocolBuffers.TestProtos;
using Xunit; using NUnit.Framework;
namespace Google.ProtocolBuffers namespace Google.ProtocolBuffers
{ {
public class TestLiteByApi public class TestLiteByApi
{ {
[Fact] [Test]
public void TestAllTypesEquality() public void TestAllTypesEquality()
{ {
TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite msg = TestAllTypesLite.DefaultInstance;
TestAllTypesLite copy = msg.ToBuilder().Build(); TestAllTypesLite copy = msg.ToBuilder().Build();
Assert.Equal(msg.GetHashCode(), copy.GetHashCode()); Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.True(msg.Equals(copy)); Assert.IsTrue(msg.Equals(copy));
msg = msg.ToBuilder().SetOptionalString("Hi").Build(); msg = msg.ToBuilder().SetOptionalString("Hi").Build();
Assert.NotEqual(msg.GetHashCode(), copy.GetHashCode()); Assert.AreNotEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.False(msg.Equals(copy)); Assert.IsFalse(msg.Equals(copy));
copy = copy.ToBuilder().SetOptionalString("Hi").Build(); copy = copy.ToBuilder().SetOptionalString("Hi").Build();
Assert.Equal(msg.GetHashCode(), copy.GetHashCode()); Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.True(msg.Equals(copy)); Assert.IsTrue(msg.Equals(copy));
} }
[Fact] [Test]
public void TestEqualityOnExtensions() public void TestEqualityOnExtensions()
{ {
TestAllExtensionsLite msg = TestAllExtensionsLite.DefaultInstance; TestAllExtensionsLite msg = TestAllExtensionsLite.DefaultInstance;
TestAllExtensionsLite copy = msg.ToBuilder().Build(); TestAllExtensionsLite copy = msg.ToBuilder().Build();
Assert.Equal(msg.GetHashCode(), copy.GetHashCode()); Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.True(msg.Equals(copy)); Assert.IsTrue(msg.Equals(copy));
msg = msg.ToBuilder().SetExtension(UnittestLite.OptionalStringExtensionLite, "Hi").Build(); msg = msg.ToBuilder().SetExtension(UnittestLite.OptionalStringExtensionLite, "Hi").Build();
Assert.NotEqual(msg.GetHashCode(), copy.GetHashCode()); Assert.AreNotEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.False(msg.Equals(copy)); Assert.IsFalse(msg.Equals(copy));
copy = copy.ToBuilder().SetExtension(UnittestLite.OptionalStringExtensionLite, "Hi").Build(); copy = copy.ToBuilder().SetExtension(UnittestLite.OptionalStringExtensionLite, "Hi").Build();
Assert.Equal(msg.GetHashCode(), copy.GetHashCode()); Assert.AreEqual(msg.GetHashCode(), copy.GetHashCode());
Assert.True(msg.Equals(copy)); Assert.IsTrue(msg.Equals(copy));
} }
[Fact] [Test]
public void TestAllTypesToString() public void TestAllTypesToString()
{ {
TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite msg = TestAllTypesLite.DefaultInstance;
TestAllTypesLite copy = msg.ToBuilder().Build(); TestAllTypesLite copy = msg.ToBuilder().Build();
Assert.Equal(msg.ToString(), copy.ToString()); Assert.AreEqual(msg.ToString(), copy.ToString());
Assert.Equal(0, msg.ToString().Length); Assert.AreEqual(0, msg.ToString().Length);
msg = msg.ToBuilder().SetOptionalInt32(-1).Build(); msg = msg.ToBuilder().SetOptionalInt32(-1).Build();
Assert.Equal("optional_int32: -1", msg.ToString().TrimEnd()); Assert.AreEqual("optional_int32: -1", msg.ToString().TrimEnd());
msg = msg.ToBuilder().SetOptionalString("abc123").Build(); msg = msg.ToBuilder().SetOptionalString("abc123").Build();
Assert.Equal("optional_int32: -1\noptional_string: \"abc123\"", Assert.AreEqual("optional_int32: -1\noptional_string: \"abc123\"",
msg.ToString().Replace("\r", "").TrimEnd()); msg.ToString().Replace("\r", "").TrimEnd());
} }
[Fact] [Test]
public void TestAllTypesDefaultedRoundTrip() public void TestAllTypesDefaultedRoundTrip()
{ {
TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite msg = TestAllTypesLite.DefaultInstance;
Assert.True(msg.IsInitialized); Assert.IsTrue(msg.IsInitialized);
TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build(); TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
[Fact] [Test]
public void TestAllTypesModifiedRoundTrip() public void TestAllTypesModifiedRoundTrip()
{ {
TestAllTypesLite msg = TestAllTypesLite.DefaultInstance; TestAllTypesLite msg = TestAllTypesLite.DefaultInstance;
@ -114,7 +114,7 @@ namespace Google.ProtocolBuffers
.AddRepeatedGroup(TestAllTypesLite.Types.RepeatedGroup.CreateBuilder().SetA('A').Build()) .AddRepeatedGroup(TestAllTypesLite.Types.RepeatedGroup.CreateBuilder().SetA('A').Build())
; ;
TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build(); TestAllTypesLite copy = TestAllTypesLite.CreateBuilder().MergeFrom(msg.ToByteArray()).Build();
Assert.Equal(msg.ToByteArray(), copy.ToByteArray()); Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
} }
} }
} }

@ -1,9 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="xunit" version="2.0.0" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" userInstalled="true" />
<package id="xunit.abstractions" version="2.0.0" targetFramework="net45" /> <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net45" userInstalled="true" />
<package id="xunit.assert" version="2.0.0" targetFramework="net45" />
<package id="xunit.core" version="2.0.0" targetFramework="net45" />
<package id="xunit.extensibility.core" version="2.0.0" targetFramework="net45" />
<package id="xunit.runner.visualstudio" version="2.0.0" targetFramework="net45" />
</packages> </packages>
Loading…
Cancel
Save