public void CreateFromMultipleRequestReturnsCorrectResult( Type itemType, int arrayLength) { // Fixture setup var sut = new MultipleToEnumerableRelay(); var context = new DelegatingSpecimenContext { OnResolve = r => { Assert.Equal( typeof(IEnumerable<>).MakeGenericType(itemType), r); return Array.CreateInstance((Type)itemType, arrayLength); } }; // Exercise system var request = new MultipleRequest(itemType); var actual = sut.Create(request, context); // Verify outcome Assert.IsAssignableFrom( typeof(IEnumerable<>).MakeGenericType(itemType), actual); var enumerable = Assert.IsAssignableFrom<System.Collections.IEnumerable>(actual); Assert.Equal(arrayLength, enumerable.Cast<object>().Count()); // Teardown }
public void CreateFromNonMultipleRequestReturnsCorrectResult( object request) { // Fixture setup var sut = new MultipleToEnumerableRelay(); // Exercise system var dummyContext = new DelegatingSpecimenContext(); var actual = sut.Create(request, dummyContext); // Verify outcome #pragma warning disable 618 var expected = new NoSpecimen(request); #pragma warning restore 618 Assert.Equal(expected, actual); // Teardown }
public void CreateWithNullContextThrows() { // Fixture setup var sut = new MultipleToEnumerableRelay(); // Exercise system and verify outcome var dummyRequest = new object(); Assert.Throws<ArgumentNullException>( () => sut.Create(dummyRequest, null)); // Teardown }
public void SutIsSpecimenBuilder() { var sut = new MultipleToEnumerableRelay(); Assert.IsAssignableFrom<ISpecimenBuilder>(sut); }