public void Generate_UsingCallback_FilledCorrectly() { // arrange var configuration = new ObjectFill <Employee>() .For(p => p.Id, new IdProvider(IdType.Base58)) .For(p => p.FirstName, new NameProvider(NameType.Given, Gender.Male)) .For(p => p.LastName, new NameProvider(NameType.Surname, Gender.NotApplicable)) .For(p => p.HourlyRate, new MoneyProvider(1, 165)) .For(p => p.Age, new IntegerProvider(18, 65), (target, generator) => { var age = (int)generator.Generate(); target.SetAge(-age); // test by making the age negative }); // act var result = configuration.Generate(10).ToList(); // assert Assert.All(result, a => { Assert.True(a.Age < 0); }); }
//[Fact] public void AsJson() { var filler = new ObjectFill <Employee>() .For((System.Linq.Expressions.Expression <Func <Employee, object> >)(p => p.FirstName), new StaticNameProvider("Peter")); var objects = filler.Generate(5).ToList(); var json = JsonConvert.SerializeObject(objects); }
public void Using_a_specific_provider() { // arrange var configuration = new ObjectFill <Employee>() .For(p => p.FirstName, new NameProvider(NameType.Given, Gender.Both)) .For(p => p.LastName, new NameProvider(NameType.Surname, Gender.NotApplicable)) .For(p => p.HourlyRate, new MoneyProvider(1, 165)); // act var result = configuration.Generate(10).ToList(); // assert Assert.Equal(10, result.Count()); }
public void Test() { // arrange var filler = new ObjectFill <ObjectWithComplexProperties>().FillUnmappedProperties(); // act var results = filler.Generate(2).ToList(); // assert Assert.All(results, properties => { Assert.NotNull(properties.Prop1); Assert.NotNull(properties.Prop2); Assert.NotNull(properties.Prop2.Foo); Assert.False(properties.Prop2.Bar == default); Assert.Equal(2, properties.Prop3.Count); }); }
public void Generate_FilledCorrectly() { // arrange var configuration = new ObjectFill <Employee>() .For(p => p.Id, new IdProvider(IdType.Base58)) .For(p => p.FirstName, new NameProvider(NameType.Given, Gender.Male)) .For(p => p.LastName, new NameProvider(NameType.Surname, Gender.NotApplicable)) .For(p => p.HourlyRate, new MoneyProvider(1, 165)); // act var result = configuration.Generate(10).ToList(); // assert Assert.All(result, a => { Assert.NotNull(a.Id); Assert.Contains(a.FirstName, NameSource.GivenMale); Assert.Contains(a.LastName, NameSource.Surnames); }); }
public void Using_customprovider() { // arrange var configuration = new ObjectFill <Employee>() .For(p => p.Id, new CustomGenerator <string>(() => "Im an Id!")) .For(p => p.FirstName, new CustomGenerator <string>(() => "Jon")) .For(p => p.LastName, new CustomGenerator <string>(() => "Snuh")) .For(p => p.HourlyRate, new CustomGenerator <decimal>(() => 1.09m)); // act var result = configuration.Generate(10).ToList(); // assert Assert.All(result, a => { Assert.Equal("Im an Id!", a.Id); Assert.Equal("Jon", a.FirstName); Assert.Equal("Snuh", a.LastName); Assert.Equal(1.09m, a.HourlyRate); }); }