public void DependentFieldsWillNotBeUsefulUnlessOrderIsSpecified() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return(10); var dependentPropertyGenerator = MockRepository.GenerateStub <IGenerateDummyData>(); dependentPropertyGenerator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Do(new GeneratorDelegate(context => context.RootAs <Foo>().Age + 1)); filler.Configure <Foo>(config => { config.For(f => f.CalculatedAge).Use(dependentPropertyGenerator); config.For(f => f.Age).Use(generator); }); filler.Fill(rootObject); Assert.That(rootObject.Age, Is.EqualTo(10)); Assert.That(rootObject.CalculatedAge, Is.EqualTo(1)); filler.Configure <Foo>(config => { config.For(f => f.Age).Order(2); config.For(f => f.CalculatedAge).Order(1); }); filler.Fill(rootObject); Assert.That(rootObject.Age, Is.EqualTo(10)); Assert.That(rootObject.CalculatedAge, Is.EqualTo(11)); }
public void DependencyOrderingWorksWithSubclassesAsWellAsPrimitives() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return("Chris"); var dependentGenerator = MockRepository.GenerateStub<IGenerateDummyData>(); dependentGenerator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)) .Do(new GeneratorDelegate(context => string.Format("Hello {0}", context.RootAs<Foo>().Bar.Name))); filler.Configure<Goo>(config => config.For(goo => goo.Name).Use(dependentGenerator)); filler.Configure<Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure<Foo>(config => { config.For(f => f.Goo).Order(2); config.For(f => f.Bar).Order(1); }); filler.Fill(rootObject); Assert.That(rootObject.Goo.Name, Is.EqualTo("Hello Chris")); }
public void DependencyOrderingWorksWithSubclassesAsWellAsPrimitives() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return("Chris"); var dependentGenerator = MockRepository.GenerateStub <IGenerateDummyData>(); dependentGenerator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)) .Do(new GeneratorDelegate(context => string.Format("Hello {0}", context.RootAs <Foo>().Bar.Name))); filler.Configure <Goo>(config => config.For(goo => goo.Name).Use(dependentGenerator)); filler.Configure <Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure <Foo>(config => { config.For(f => f.Goo).Order(2); config.For(f => f.Bar).Order(1); }); filler.Fill(rootObject); Assert.That(rootObject.Goo.Name, Is.EqualTo("Hello Chris")); }
public void LetsGetSomeMatchesGoingOn() { var users = new List <User>(); var filler = new Filler(); filler.Configure <Bar>().Defaults(); filler.Configure <Foo>(config => { config.For(foo => foo.Bars).Times(Constants.Random.Next(100)); config.For(foo => foo.Age).Use(new RandomWholeNumberGenerator(10, 21)).Order(1); config.For(foo => foo.CalculatedAge).Do(context => context.CurrentAs <Foo>().Age + 20).Order(2); }).Defaults(); filler.Configure <Goo>().Defaults(); filler.Configure <User>().Defaults(); filler.Configure <AllowedPartner>(config => { config.For(allowedPartner => allowedPartner.MinAge).Use(new MinAgeGenerator()); config.For(allowedPartner => allowedPartner.MaxAge).Use(new MaxAgeGenerator()); }); 1000.Times(() => users.Add(filler.Fill(new User()))); users.ToString(); }
public void CollectionsGenerateDataXTimes() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return("Chris"); filler.Configure<Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure<Foo>(config => config.For(f => f.Bars).Times(10)); filler.Fill(rootObject); Assert.That(rootObject.Bars.Count, Is.EqualTo(10)); Assert.That(rootObject.Bars.First().Name, Is.EqualTo("Chris")); }
public void CollectionsGenerateDataXTimes() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return("Chris"); filler.Configure <Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure <Foo>(config => config.For(f => f.Bars).Times(10)); filler.Fill(rootObject); Assert.That(rootObject.Bars.Count, Is.EqualTo(10)); Assert.That(rootObject.Bars.First().Name, Is.EqualTo("Chris")); }
public void ShouldAddMappingSetForGivenType() { var filler = new Filler(); filler.Configure<Foo>(); Assert.That(filler.MappingSets.Count(), Is.EqualTo(1)); Assert.That(filler.MappingSets.First().Type, Is.EqualTo(typeof(Foo))); }
public void ShouldAddMappingSetForGivenType() { var filler = new Filler(); filler.Configure <Foo>(); Assert.That(filler.MappingSets.Count(), Is.EqualTo(1)); Assert.That(filler.MappingSets.First().Type, Is.EqualTo(typeof(Foo))); }
public void ShouldFillSubObject() { const string dummyData = "Data"; var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return(dummyData); filler.Configure <Foo>(); filler.Configure <Bar>(config => config.For(f => f.Name).Use(generator)); filler.Fill(rootObject); Assert.That(rootObject.Bar, Is.Not.Null); Assert.That(rootObject.Bar.Name, Is.EqualTo(dummyData)); }
public void CollectionsGenerateDataBetweenXandYTimes() { var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return("Chris"); filler.Configure<Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure<Foo>(config => config.For(f => f.Bars).Between(10, 20)); for (var i = 0; i <= 100; i++) { var rootObject = new Foo(); filler.Fill(rootObject); var bars = rootObject.Bars.Count; Assert.That(bars, Is.LessThanOrEqualTo(20)); Assert.That(bars, Is.GreaterThanOrEqualTo(10)); } }
public void CollectionsGenerateDataBetweenXandYTimes() { var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return("Chris"); filler.Configure <Bar>(config => config.For(goo => goo.Name).Use(generator)); filler.Configure <Foo>(config => config.For(f => f.Bars).Between(10, 20)); for (var i = 0; i <= 100; i++) { var rootObject = new Foo(); filler.Fill(rootObject); var bars = rootObject.Bars.Count; Assert.That(bars, Is.LessThanOrEqualTo(20)); Assert.That(bars, Is.GreaterThanOrEqualTo(10)); } }
public void LetsGetSomeMatchesGoingOn() { var users = new List<User>(); var filler = new Filler(); filler.Configure<Bar>().Defaults(); filler.Configure<Foo>(config => { config.For(foo => foo.Bars).Times(Constants.Random.Next(100)); config.For(foo => foo.Age).Use(new RandomWholeNumberGenerator(10, 21)).Order(1); config.For(foo => foo.CalculatedAge).Do(context => context.CurrentAs<Foo>().Age + 20).Order(2); }).Defaults(); filler.Configure<Goo>().Defaults(); filler.Configure<User>().Defaults(); filler.Configure<AllowedPartner>(config => { config.For(allowedPartner => allowedPartner.MinAge).Use(new MinAgeGenerator()); config.For(allowedPartner => allowedPartner.MaxAge).Use(new MaxAgeGenerator()); }); 1000.Times(() => users.Add(filler.Fill(new User()))); users.ToString(); }
public void IgnoringPropertiesWillPreventFilling() { const string dummyData = "Data"; var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return(dummyData); var filler = new Filler(); var rootObject = new Foo(); filler.Configure<Foo>(config =>{ config.For(f => f.Description).Use(generator).Ignore(); config.For(f => f.Name).Use(generator); }); filler.Fill(rootObject); Assert.That(rootObject.Name, Is.EqualTo(dummyData)); Assert.That(rootObject.Description, Is.Null); }
public void IgnoringPropertiesWillPreventFilling() { const string dummyData = "Data"; var generator = MockRepository.GenerateStub <IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg <GenerationContext> .Is.Anything)).Return(dummyData); var filler = new Filler(); var rootObject = new Foo(); filler.Configure <Foo>(config => { config.For(f => f.Description).Use(generator).Ignore(); config.For(f => f.Name).Use(generator); }); filler.Fill(rootObject); Assert.That(rootObject.Name, Is.EqualTo(dummyData)); Assert.That(rootObject.Description, Is.Null); }
public void ShouldApplyConfigurationActionToMappingSetItems() { var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); var generatoB = MockRepository.GenerateStub<IGenerateDummyData>(); filler.Configure<Foo>(config => { config.For(f => f.Name).Use(generator); config.For(f => f.Age).Use(generatoB); }); Assert.That(filler.MappingSets.Count(), Is.EqualTo(1)); var mappingSet = filler.MappingSets.First() as MappingSet<Foo>; Assert.That(mappingSet.Type, Is.EqualTo(typeof(Foo))); Assert.That(mappingSet.MappingItems.Count(), Is.EqualTo(2)); Assert.That(mappingSet.MappingItems.First().Value.Generator, Is.EqualTo(generator)); Assert.That(mappingSet.MappingItems.Last().Value.Generator, Is.EqualTo(generatoB)); }
public void ShouldApplyConfigurationActionToMappingSetItems() { var filler = new Filler(); var generator = MockRepository.GenerateStub <IGenerateDummyData>(); var generatoB = MockRepository.GenerateStub <IGenerateDummyData>(); filler.Configure <Foo>(config => { config.For(f => f.Name).Use(generator); config.For(f => f.Age).Use(generatoB); }); Assert.That(filler.MappingSets.Count(), Is.EqualTo(1)); var mappingSet = filler.MappingSets.First() as MappingSet <Foo>; Assert.That(mappingSet.Type, Is.EqualTo(typeof(Foo))); Assert.That(mappingSet.MappingItems.Count(), Is.EqualTo(2)); Assert.That(mappingSet.MappingItems.First().Value.Generator, Is.EqualTo(generator)); Assert.That(mappingSet.MappingItems.Last().Value.Generator, Is.EqualTo(generatoB)); }
public void DependentFieldsWillNotBeUsefulUnlessOrderIsSpecified() { var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return(10); var dependentPropertyGenerator = MockRepository.GenerateStub<IGenerateDummyData>(); dependentPropertyGenerator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Do(new GeneratorDelegate(context => context.RootAs<Foo>().Age + 1)); filler.Configure<Foo>(config => { config.For(f => f.CalculatedAge).Use(dependentPropertyGenerator); config.For(f => f.Age).Use(generator); }); filler.Fill(rootObject); Assert.That(rootObject.Age, Is.EqualTo(10)); Assert.That(rootObject.CalculatedAge, Is.EqualTo(1)); filler.Configure<Foo>(config => { config.For(f => f.Age).Order(2); config.For(f => f.CalculatedAge).Order(1); }); filler.Fill(rootObject); Assert.That(rootObject.Age, Is.EqualTo(10)); Assert.That(rootObject.CalculatedAge, Is.EqualTo(11)); }
public void ShouldNotFillSubObjectIfRootObjectNotDefined() { const string dummyData = "Data"; var rootObject = new Foo(); var filler = new Filler(); var generator = MockRepository.GenerateStub<IGenerateDummyData>(); generator.Stub(g => g.Generate(Arg<GenerationContext>.Is.Anything)).Return(dummyData); filler.Configure<Bar>(config => config.For(f => f.Name).Use(generator)); filler.Fill(rootObject); Assert.That(rootObject.Bar, Is.Null); }