public static ContentItem Map(this ContentItemEntity entity, IContentCreator contentCreator) { // Create the item. var item = contentCreator.CreateContentItem(entity.type); item.Id = entity.id; // Set general properties. item.Name = entity.name; item.IsEnabled = entity.enabled; item.VerticalId = entity.verticalId; // Set content for child items and details. foreach (var childItem in entity.ContentItemEntities) { item.SetChild(childItem.name, childItem.Map(contentCreator)); } foreach (var detail in entity.ContentDetailEntities) { item.SetField(detail.name, detail.stringValue); } return(item); }
public SaveContentController(IContentTypeProvider contentTypeProvider, IPrimaryKeyGetter primaryKeyGetter, IPrimaryKeyConverter primaryKeyConverter, IContentGetter contentGetter, IContentTypeCoreInterfaceProvider contentTypeCoreInterfaceProvider, IPropertyDefinitionProvider propertyDefinitionProvider, IContentUpdater contentUpdater, IContentCreator contentCreator, PolymorphicFormConverter polymorphicFormConverter) { ContentTypeProvider = contentTypeProvider; PrimaryKeyGetter = primaryKeyGetter; PrimaryKeyConverter = primaryKeyConverter; ContentGetter = contentGetter; ContentTypeCoreInterfaceProvider = contentTypeCoreInterfaceProvider; PropertyDefinitionProvider = propertyDefinitionProvider; ContentUpdater = contentUpdater; ContentCreator = contentCreator; PolymorphicFormConverter = polymorphicFormConverter; }
public static string CreateTestFixture(Type classToTest) { var sb = new IndentedStringBuilder(indentationIncrement: 4); var contentCreators = new IContentCreator[] { new ConstructorNullArgsTestCreator(), new DomainObjectTestCreator(), new ExceptionTestCreator(), new MethodNullArgsTestCreator(), new StaticMethodNullArgsTestCreator(), new InvalidArgumentTestCreator(), new PassThroughTestCreator(), new ExceptionHandlingContentCreator(), new HelperMethodContentCreator(), new TestHarnessContentCreator() }; var contents = contentCreators.Select(c => c.Create(classToTest)) .Where(c => c.LinesOfCode.Any()) .ToArray(); if (!contents.Any()) { return(null); } var namespaces = contents.SelectMany(c => c.NamesSpaces) .Union(new[] { classToTest.Namespace, "System", "System.Collections.Generic", "NUnit.Framework" }) .Distinct().ToList(); var systemNamespaces = namespaces.Where(ns => ns.StartsWith("System")).OrderBy(ns => ns).ToList(); var staticImports = namespaces.Where(ns => ns.StartsWith("static")).OrderBy(ns => ns).ToList(); var customNamespaces = namespaces.Except(systemNamespaces.Union(staticImports)).OrderBy(ns => ns).ToList(); systemNamespaces.ForEach(ns => sb.AppendLine($"using {ns};")); if (systemNamespaces.Any()) { sb.AppendLine(); } customNamespaces.ForEach(ns => sb.AppendLine($"using {ns};")); if (customNamespaces.Any()) { sb.AppendLine(); } staticImports.ForEach(ns => sb.AppendLine($"using {ns};")); if (staticImports.Any()) { sb.AppendLine(); } var testNs = classToTest.Namespace + $".Tests.Unit.{StringUtils.GetClassCategory(classToTest)}"; sb.AppendLine($"namespace {testNs}"); sb.AppendLine("{"); using (sb.WithIndent()) { sb.AppendLine("[TestFixture]"); sb.AppendLine($"public class {classToTest.Name}Tests"); sb.AppendLine("{"); using (sb.WithIndent()) { for (var i = 0; i < contents.Length; i++) { if (i > 0) { sb.AppendLine(); } foreach (var line in contents[i].LinesOfCode) { sb.AppendLine(line); } } } sb.AppendLine("}"); } sb.AppendLine("}"); return(sb.ToString()); }
public ContentRepository(IContentCreator contentCreator, IDbConnectionFactory connectionFactory) { _contentCreator = contentCreator; _connectionFactory = connectionFactory; }