public void PopulateAddsItemsToCollectionFromExecuteStrategy() { var expected = new Guid[15]; var buildChain = new BuildHistory(); var executeStrategy = Substitute.For <IExecuteStrategy>(); var typeResolver = Substitute.For <ITypeResolver>(); var configuration = Substitute.For <IBuildConfiguration>(); configuration.TypeResolver.Returns(typeResolver); typeResolver.GetBuildType(configuration, Arg.Any <Type>()).Returns(x => x.Arg <Type>()); executeStrategy.BuildChain.Returns(buildChain); executeStrategy.Configuration.Returns(configuration); executeStrategy.Create(typeof(Guid)).Returns(Guid.NewGuid()); var sut = new ArrayTypeCreator { MaxCount = 15 }; var actual = sut.Populate(executeStrategy, expected); actual.Should().BeSameAs(expected); var set = (Guid[])actual; set.Should().HaveCount(sut.MaxCount); set.All(x => x != Guid.Empty).Should().BeTrue(); }
public void PopulateThrowsExceptionWithNullInstance() { var strategy = Substitute.For <IExecuteStrategy>(); var sut = new ArrayTypeCreator(); Action action = () => sut.Populate(strategy, null !); action.Should().Throw <ArgumentNullException>(); }
public void PopulateInfersItemTypeByArrayTypeWhenFirstItemIsNull() { var actual = new Person[15]; var executeStrategy = Model.UsingDefaultConfiguration() .UsingExecuteStrategy <DefaultExecuteStrategy <List <Company> > >(); var sut = new ArrayTypeCreator(); var result = (Person[])sut.Populate(executeStrategy, actual); result.All(x => x != null !).Should().BeTrue(); }
public void PopulateThrowsExceptionWithUnsupportedType() { var instance = new Lazy <bool>(() => true); var buildChain = new BuildHistory(); var executeStrategy = Substitute.For <IExecuteStrategy>(); executeStrategy.BuildChain.Returns(buildChain); var sut = new ArrayTypeCreator(); Action action = () => sut.Populate(executeStrategy, instance); action.Should().Throw <NotSupportedException>(); }
public void PopulateReturnsEmptyArrayWhenSourceHasZeroLength() { var expected = new Guid[0]; var buildChain = new BuildHistory(); var executeStrategy = Substitute.For <IExecuteStrategy>(); executeStrategy.BuildChain.Returns(buildChain); executeStrategy.Create(typeof(Guid)).Returns(Guid.NewGuid()); var sut = new ArrayTypeCreator { MaxCount = 15 }; var actual = sut.Populate(executeStrategy, expected); actual.Should().BeSameAs(expected); var set = (Guid[])actual; set.Should().BeEmpty(); }
public void PopulateAddsItemsToListFromExecuteStrategy() { var expected = new Guid[15]; var buildChain = new BuildHistory(); var executeStrategy = Substitute.For <IExecuteStrategy>(); executeStrategy.BuildChain.Returns(buildChain); executeStrategy.Create(typeof(Guid)).Returns(Guid.NewGuid()); var sut = new ArrayTypeCreator { MaxCount = 15 }; var actual = sut.Populate(executeStrategy, expected); actual.Should().BeSameAs(expected); var set = (Guid[])actual; set.Should().HaveCount(sut.MaxCount); set.All(x => x != Guid.Empty).Should().BeTrue(); }
public void PopulateThrowsExceptionWithUnsupportedTypeTest() { var instance = new Lazy<bool>(() => true); var strategy = Substitute.For<IExecuteStrategy>(); var target = new ArrayTypeCreator(); Action action = () => target.Populate(instance, strategy); action.ShouldThrow<NotSupportedException>(); }
public void PopulateThrowsExceptionWithNullStrategyTest() { var instance = new List<string>(); var target = new ArrayTypeCreator(); Action action = () => target.Populate(instance, null); action.ShouldThrow<ArgumentNullException>(); }
public void PopulateThrowsExceptionWithNullInstanceTest() { var strategy = Substitute.For<IExecuteStrategy>(); var target = new ArrayTypeCreator(); Action action = () => target.Populate(null, strategy); action.ShouldThrow<ArgumentNullException>(); }
public void PopulateReturnsEmptyArrayWhenSourceHasZeroLengthTest() { var expected = new Guid[0]; var strategy = Substitute.For<IExecuteStrategy>(); strategy.CreateWith(typeof(Guid)).Returns(Guid.NewGuid()); var target = new ArrayTypeCreator { MaxCount = 15 }; var actual = target.Populate(expected, strategy); actual.Should().BeSameAs(expected); var set = (Guid[]) actual; set.Should().BeEmpty(); }
public void PopulateInferesItemTypeByArrayTypeWhenFirstItemIsNullTest() { var actual = new Person[15]; var executeStrategy = Model.BuildStrategy.GetExecuteStrategy<List<int>>(); var target = new ArrayTypeCreator(); var result = (Person[]) target.Populate(actual, executeStrategy); result.All(x => x != null).Should().BeTrue(); }
public void PopulateAddsItemsToListFromExecuteStrategyTest() { var expected = new Guid[15]; var strategy = Substitute.For<IExecuteStrategy>(); strategy.CreateWith(typeof(Guid)).Returns(Guid.NewGuid()); var target = new ArrayTypeCreator { MaxCount = 15 }; var actual = target.Populate(expected, strategy); actual.Should().BeSameAs(expected); var set = (Guid[]) actual; set.Should().HaveCount(target.MaxCount); set.All(x => x != Guid.Empty).Should().BeTrue(); }