public void CreatePropertyThrowsExceptionWithNullProperty() { var executeStrategy = Substitute.For <IExecuteStrategy>(); var valueGenerator = Substitute.For <IValueGenerator>(); var sut = new BuildCapability(valueGenerator); Action action = () => sut.CreateProperty(executeStrategy, null !, null); action.Should().Throw <ArgumentNullException>(); }
public void CreatePropertyReturnsValueFromValueGenerator() { var propertyInfo = typeof(Person).GetProperty(nameof(Person.FirstName)) !; var value = Guid.NewGuid().ToString(); var executeStrategy = Substitute.For <IExecuteStrategy>(); var valueGenerator = Substitute.For <IValueGenerator>(); valueGenerator.Generate(executeStrategy, propertyInfo).Returns(value); var sut = new BuildCapability(valueGenerator); var actual = sut.CreateProperty(executeStrategy, propertyInfo, null); actual.Should().Be(value); }
public void CreatePropertyReturnsValueFromTypeCreator() { var propertyInfo = typeof(Person).GetProperty(nameof(Person.FirstName)) !; var value = Guid.NewGuid().ToString(); var args = new object?[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; var executeStrategy = Substitute.For <IExecuteStrategy>(); var typeCreator = Substitute.For <ITypeCreator>(); typeCreator.Create(executeStrategy, propertyInfo, args).Returns(value); var sut = new BuildCapability(typeCreator, true, false); var actual = sut.CreateProperty(executeStrategy, propertyInfo, args); actual.Should().Be(value); }