Hierarchies

NBuilder has experimental support for building and persisting hierarchies.

First you create a hierarchy spec, then you pass this specification into the PersistHierachy method.

var hierarchySpec = new HierarchySpec<Category>
{
    AddMethod = (parent, child) => parent.AddChild(child),
    Depth = 3,
    MinimumChildren = 3,
    MaximumChildren = 8,
    NamingMethod = (item, index) => item.Title = "Category " + index,
    NumberOfRoots = 5
};

var categories = Builder<Category>.CreateListOfSize(10000)
                                        .PersistHierarchy(hierarchySpec);