Skip to content

Instantly share code, notes, and snippets.

@ThatRendle
Created March 10, 2013 13:52
Show Gist options
  • Save ThatRendle/5128649 to your computer and use it in GitHub Desktop.
Save ThatRendle/5128649 to your computer and use it in GitHub Desktop.
An example set of unit tests from Zudio
namespace Zudio.Common.Tests
{
using System.Linq;
using Xunit;
public class StringSerializerTests
{
[Fact]
public void SerializesNoStrings()
{
var actual = StringSerializer.ToBytes();
Assert.Equal(0, actual.Length);
}
[Fact]
public void DeserializesNoBytes()
{
var actual = StringSerializer.FromBytes(new byte[0]).Count();
Assert.Equal(0, actual);
}
[Fact]
public void SerializesAndDeserializesOneString()
{
const string expected = "Foo";
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).Single();
Assert.Equal(expected, actual);
}
[Fact]
public void SerializesAndDeserializesTwoStrings()
{
var expected = new[] {"Foo", "Bar"};
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
}
[Fact]
public void SerializesAndDeserializesThreeStrings()
{
var expected = new[] { "Foo", "Bar", "Quux" };
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
Assert.Equal(expected[2], actual[2]);
}
[Fact]
public void SerializesAndDeserializesWithAnEmptyString()
{
var expected = new[] { "Foo", "", "Quux" };
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
Assert.Equal(expected[2], actual[2]);
}
[Fact]
public void SerializesAndDeserializesWithANullString()
{
var expected = new[] { "Foo", null, "Quux" };
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
Assert.Equal(expected[2], actual[2]);
}
[Fact]
public void SerializesAndDeserializesThreeEmptyStrings()
{
var expected = new[] { "", "", "" };
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
Assert.Equal(expected[2], actual[2]);
}
[Fact]
public void SerializesAndDeserializesThreeNull()
{
var expected = new string[] { null, null, null };
var mid = StringSerializer.ToBytes(expected);
var actual = StringSerializer.FromBytes(mid).ToArray();
Assert.Equal(expected[0], actual[0]);
Assert.Equal(expected[1], actual[1]);
Assert.Equal(expected[2], actual[2]);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment