public void QueryIsCorrect() { // Arrange var expectedPicker = new DelegatingMethodQuery(); var sut = new MethodInvoker(expectedPicker); // Act IMethodQuery result = sut.Query; // Assert Assert.Equal(expectedPicker, result); }
public void QueryIsCorrect() { // Fixture setup var expectedPicker = new DelegatingMethodQuery(); var sut = new MethodInvoker(expectedPicker); // Exercise system IMethodQuery result = sut.Query; // Verify outcome Assert.Equal(expectedPicker, result); // Teardown }
public void CreateReturnsCorrectResultWhenQueryReturnsEmptyConstructors() { // Arrange var dummyRequest = typeof(object); var query = new DelegatingMethodQuery { OnSelectMethods = t => Enumerable.Empty <IMethod>() }; var sut = new MethodInvoker(query); // Act var dummyContext = new DelegatingSpecimenContext(); var result = sut.Create(dummyRequest, dummyContext); // Assert var expectedResult = new NoSpecimen(); Assert.Equal(expectedResult, result); }
public void CreateReturnsCorrectResultWhenQueryReturnsEmptyConstructors() { // Fixture setup var dummyRequest = typeof(object); var query = new DelegatingMethodQuery { OnSelectMethods = t => Enumerable.Empty <IMethod>() }; var sut = new MethodInvoker(query); // Exercise system var dummyContext = new DelegatingSpecimenContext(); var result = sut.Create(dummyRequest, dummyContext); // Verify outcome var expectedResult = new NoSpecimen(); Assert.Equal(expectedResult, result); // Teardown }
public void CreateFromTypeWillUseFirstConstructorItCanSatisfy() { // Fixture setup var requestedType = typeof(MultiUnorderedConstructorType); var ctor1 = requestedType.GetConstructor(new[] { typeof(MultiUnorderedConstructorType.ParameterObject) }); var ctor2 = requestedType.GetConstructor(new[] { typeof(string), typeof(int) }); var picker = new DelegatingMethodQuery { OnSelectMethods = t => new IMethod[] { new ConstructorMethod(ctor1), new ConstructorMethod(ctor2) } }; var sut = new MethodInvoker(picker); var ctor2Params = ctor2.GetParameters(); var expectedText = "Anonymous text"; var expectedNumber = 14; var context = new DelegatingSpecimenContext(); context.OnResolve = r => { if (ctor2Params.Any(r.Equals)) { var pType = ((ParameterInfo)r).ParameterType; if (typeof(string) == pType) { return(expectedText); } if (typeof(int) == pType) { return(expectedNumber); } } return(new NoSpecimen()); }; // Exercise system var result = sut.Create(requestedType, context); // Verify outcome var actual = Assert.IsAssignableFrom <MultiUnorderedConstructorType>(result); Assert.Equal(expectedText, actual.Text); Assert.Equal(expectedNumber, actual.Number); // Teardown }