Skip to content
Luke Sigler edited this page Mar 5, 2014 · 7 revisions

Configuring A Class For Fibbing

var fibber = Build.NewFibber()
    .Configure(c =>
    {
	    c.ForType<Product>(p => p.UseDefaults());
    });

Configuring a Class With Custom Generators

var fibber = Build.NewFibber()
    .Configure(c =>
    {
        c.ForType<Product>(p => p.For<string>("This string for all properties of type string")
            .For<bool>(() => Generators.Current.Bool()) // A randomly selected value
		    .For<int>((v) => v + 1)); // Modify the existing value
    });

Configuring Multiple Classes For Fibbing

var fibber = Build.NewFibber()
    .Configure(c =>
    {
        c.ForType<Product>(p => p.For<string>(() => Generators.Current.String(10, 48, false))
            .For<bool>(() => Generators.Current.Bool())
            .For<int>(() => Generators.Current.Int()));
					
        .ForType<Supplier>(s => s.UseDefaults());
    });

Ensuring Consistent Random Data

 var fibber = Build.NewFibber()
            .Seed(42342342)
            .Configure(c =>
            {
                c.ForType<Product>(p => p.For<string>(() => Generators.Current.String())
                            .For<bool>(() => Generators.Current.Bool())
                            .For<int>(() => Generators.Current.Int()));
            });

Generating Data

var fibber = Build.NewFibber()
    .Configure(c =>
    {
	    c.ForType<Product>(p => p.UseDefaults());
    });
	
var list = new List<Product>();

for (int i = 0; i < 100000; i++)
{
    list.Add(fibber.Fib<Product>(new Product()));
}
Clone this wiki locally