AutoPoco v0.2 Released

Published on 2010-4-7

I've added some features to AutoPoco to make it actually functional

Configuration can now be done automatically:

IGenerationSessionFactory factory = AutoPocoContainer.Configure(x =>
{
    x.Conventions(c =>
    {
        c.UseDefaultConventions();
    });
    x.AddFromAssemblyContainingType<SimpleUser>();
});

As to start with, meaningful data isn't always required - just non-nulls and sensible defaults.

Collections can now be created with controlled content, for example:

            mSession.List<SimpleUser>()
                .Random(5)
                    .Impose(x => x.FirstName, "Bob")
                .Next(5)
                    .Impose(x => x.FirstName, "Alice")
                .All()
                .First(5)
                    .Impose(x => x.LastName, "Blue")
                .Next(5)
                    .Impose(x => x.FirstName, "Red")
                .All()
                .Get();

Will create a table of data looking something like:

# First Name Last Name
0 Bob Blue
1 Alice Blue
2 Alice Blue
3 Bob Blue
4 Bob Blue
5 Alice Red
6 Bob Red
7 Alice Red
8 Bob Red
9 Alice Red

Obviously these simple examples are only the beginning, I've also written some documentation for the existing features + new features over at the codeplex site:

I'll be using AutoPoco to generate a ridiculous amount of test data for one of our systems in the coming weeks, so I'll no doubt discover any shortcomings and rectify them, in the mean-time feel free to ask for things in the discussons forum at the Codeplex site (or in the comments here)

This used to ask if you wanted to hire me

But chances are I'm not available, as I'm busy shipping stuff.

I am available for conference speaking, I like talking and will do so for just T&E (and perhaps a bottle of wine or two).

I have done soft keynotes, and usually entertain/rile people in equal proportion, but prefer to talk tech as that's what I do

Email me :)

blog comments powered by Disqus

Fatal


hi Rob,looks interesting. Could you please compare/contrast your project with nBuilder? It seems to exist for the same purpose although possibly different directions on the fluent side of things.cheersFatal

robashton


There are a few striking differences, notably in the pre-configuration side of things - but indeed also in the fluent language used to create the objects.I think it's a bit early to be drawing comparisons, because I'm building something that I want to use - and it's not really there yet.Tell you what - when I reach 0.5, I'll write a blog entry and describe what I feel are the main differences between this and NB :)

robashton


And of course, the conventions that I'll be using to drive the setting of recognised properties are something that is going to be *very* different.

Giedrius


very nice.one thing though, would it be possible to spice up automatic configuration, let's say for string property values use not null, but property name (plus index if it's a collection or smth)? For simple numeric properties property index or smth, that would help catch mapping errors very quickly :)

robashton


Well that would just be a matter of replacing the default conventions with your own.If nobody else does it, I could easily write a set as a contrib module