I was wondering if we could reference and use [Exude](http://blog.ploeh.dk/2014/03/14/exude/) here. Version 0.2.0 is [included](https://github.com/AutoFixture/AutoFixture/tree/master/Packages/Exude.0.2.0) in the NuGet Packages folder.

The `Theory`-based attributes tend to emphasize the test rather than the data. Exude tends to revert this emphasis - it makes the data go first and *then* the test which exercises it.

Among others, this makes the tests read naturally (from a test reader's perspective):

```c#
[FirstClassTests]
public static ITestCase[] CreateWithInvalidRequestReturnsNoSpecimen()
{
    var testCases = new[] {
        null,
        new object(),
        string.Empty,
        123,
        typeof(int),
        typeof(object[]),
        typeof(string[][])
    };

    return testCases
        .Select(tc => new TestCase(request =>
        {
            var sut = new MultidimensionalArrayRelay();
            var dummyContext = new DelegatingSpecimenContext();
            var expected = new NoSpecimen(request);

            var actual = sut.Create(request, dummyContext);

            Assert.Equal(expected, actual);
        }))
        .ToArray();
}
```