aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
diff options
context:
space:
mode:
authorJon Skeet <jonskeet@google.com>2015-04-30 11:05:36 +0100
committerJon Skeet <jonskeet@google.com>2015-04-30 11:29:35 +0100
commitc56475088d2d36d29a2640f35b9a8621796c051c (patch)
treeeee4106598d0faf92b566f7e03930f25df38a56c /csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
parentce97e686826147e2a071fd2321555f7d40ec5d93 (diff)
downloadprotobuf-c56475088d2d36d29a2640f35b9a8621796c051c.tar.gz
protobuf-c56475088d2d36d29a2640f35b9a8621796c051c.tar.bz2
protobuf-c56475088d2d36d29a2640f35b9a8621796c051c.zip
Change to using xUnit for all unit tests, and fetch that via NuGet.
This includes fetching the VS unit test runner package, so that tests can be run from Visual Studio's Test Explorer.
Diffstat (limited to 'csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs')
-rw-r--r--csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs101
1 files changed, 48 insertions, 53 deletions
diff --git a/csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs b/csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
index a63f6575..e6b6a1b3 100644
--- a/csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
+++ b/csharp/src/ProtocolBuffers.Test/ReusableBuilderTest.cs
@@ -1,48 +1,43 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Text;
using Google.ProtocolBuffers.Collections;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
using Google.ProtocolBuffers.TestProtos;
-using Google.ProtocolBuffers.Serialization;
using UnitTest.Issues.TestProtos;
+using Xunit;
namespace Google.ProtocolBuffers
{
- [TestClass]
public class ReusableBuilderTest
{
//Issue 28: Circular message dependencies result in null defaults for DefaultInstance
- [TestMethod]
+ [Fact]
public void EnsureStaticCicularReference()
{
MyMessageAReferenceB ab = MyMessageAReferenceB.DefaultInstance;
- Assert.IsNotNull(ab);
- Assert.IsNotNull(ab.Value);
+ Assert.NotNull(ab);
+ Assert.NotNull(ab.Value);
MyMessageBReferenceA ba = MyMessageBReferenceA.DefaultInstance;
- Assert.IsNotNull(ba);
- Assert.IsNotNull(ba.Value);
+ Assert.NotNull(ba);
+ Assert.NotNull(ba.Value);
}
- [TestMethod]
+ [Fact]
public void TestModifyDefaultInstance()
{
//verify that the default instance has correctly been marked as read-only
- Assert.AreEqual(typeof(PopsicleList<bool>), TestAllTypes.DefaultInstance.RepeatedBoolList.GetType());
+ Assert.Equal(typeof(PopsicleList<bool>), TestAllTypes.DefaultInstance.RepeatedBoolList.GetType());
PopsicleList<bool> list = (PopsicleList<bool>)TestAllTypes.DefaultInstance.RepeatedBoolList;
- Assert.IsTrue(list.IsReadOnly);
+ Assert.True(list.IsReadOnly);
}
- [TestMethod]
+ [Fact]
public void TestUnmodifiedDefaultInstance()
{
//Simply calling ToBuilder().Build() no longer creates a copy of the message
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void BuildMultipleWithoutChange()
{
//Calling Build() or BuildPartial() does not require a copy of the message
@@ -51,31 +46,31 @@ namespace Google.ProtocolBuffers
TestAllTypes first = builder.BuildPartial();
//Still the same instance?
- Assert.IsTrue(ReferenceEquals(first, builder.Build()));
+ Assert.True(ReferenceEquals(first, builder.Build()));
//Still the same instance?
- Assert.IsTrue(ReferenceEquals(first, builder.BuildPartial().ToBuilder().Build()));
+ Assert.True(ReferenceEquals(first, builder.BuildPartial().ToBuilder().Build()));
}
- [TestMethod]
+ [Fact]
public void MergeFromDefaultInstance()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.MergeFrom(TestAllTypes.DefaultInstance);
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void BuildNewBuilderIsDefaultInstance()
{
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, new TestAllTypes.Builder().Build()));
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, new TestAllTypes.Builder().Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, TestAllTypes.CreateBuilder().Build()));
//last test, if you clear a builder it reverts to default instance
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance,
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance,
TestAllTypes.CreateBuilder().SetOptionalBool(true).Build().ToBuilder().Clear().Build()));
}
- [TestMethod]
+ [Fact]
public void BuildModifyAndRebuild()
{
TestAllTypes.Builder b1 = new TestAllTypes.Builder();
@@ -91,80 +86,80 @@ namespace Google.ProtocolBuffers
TestAllTypes m2 = b1.Build();
- Assert.AreEqual("{\"optional_foreign_message\":{},\"repeated_int32\":[2],\"default_int32\":1}", Extensions.ToJson(m1));
- Assert.AreEqual("{\"optional_foreign_message\":{\"c\":7},\"repeated_int32\":[2,6],\"default_int32\":5}", Extensions.ToJson(m2));
+ Assert.Equal("{\"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));
}
- [TestMethod]
+ [Fact]
public void CloneOnChangePrimitive()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetDefaultBool(true);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnAddRepeatedBool()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.AddRepeatedBool(true);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnGetRepeatedBoolList()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedBoolList);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnChangeMessage()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetOptionalForeignMessage(new ForeignMessage.Builder());
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnClearMessage()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.ClearOptionalForeignMessage();
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnGetRepeatedForeignMessageList()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedForeignMessageList);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnChangeEnumValue()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.SetOptionalForeignEnum(ForeignEnum.FOREIGN_BAR);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
- [TestMethod]
+ [Fact]
public void CloneOnGetRepeatedForeignEnumList()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
- Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.True(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedForeignEnumList);
- Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
+ Assert.False(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
}