public static IList <T> PersistHierarchy <T>(this IListBuilder <T> listBuilder, IHierarchySpec <T> hierarchySpec) { // 1. Create var list = listBuilder.Build(); // 2. Reorganise var hierarchy = new HierarchyGenerator <T>(list, hierarchySpec.AddMethod, hierarchySpec.NumberOfRoots, hierarchySpec.Depth, hierarchySpec.MinimumChildren, hierarchySpec.MaximumChildren, new RandomGenerator(), hierarchySpec.NamingMethod, listBuilder.BuilderSetup.GetPersistenceService()).Generate(); return(hierarchy); }
public static IList <T> BuildHierarchy <T>(this IListBuilder <T> listBuilder, IHierarchySpec <T> hierarchySpec) { var list = listBuilder.Build(); var hierarchy = new HierarchyGenerator <T>(list, hierarchySpec.AddMethod, hierarchySpec.NumberOfRoots, hierarchySpec.Depth, hierarchySpec.MinimumChildren, hierarchySpec.MaximumChildren, new RandomGenerator(), hierarchySpec.NamingMethod, null).Generate(); return(hierarchy); }