public void BuildContentTypeClass_WhenContentTypeHasNamespace_ShouldCombineNamespaces() { var contentType = new ContentType { Name = "MyBlock", Namespace = "MyBlocks" }; var options = new OptionsFake { Namespace = "MyCompany" }; var subject = CreateSubject(options); var result = subject.BuildContentTypeClass(contentType); Assert.AreEqual("MyCompany.MyBlocks", result.Namespaces[ContentTypeCodeBuilder.ClassNamespaceIndex].Name); }
public void CreateContentTypeIdentifier_WhenNameEndsWithSuffix_ShouldNotModifyName() { var options = new OptionsFake { PageSuffix = "Pageskij" }; var typeName = "NamePageskij"; var subject = CreateSubject(options); var result = subject.CreateContentTypeIdentifier(typeName, ContentTypeCategory.Page); Assert.AreEqual(typeName, result); }
public void CreateContentTypeIdentifier_WhenNameEndsWithDifferentlyCasedSuffix_ShouldNotDoubleUpSuffix() { var options = new OptionsFake { PageSuffix = "Pageskij" }; var typeName = "Name pageskij"; var subject = CreateSubject(options); var result = subject.CreateContentTypeIdentifier(typeName, ContentTypeCategory.Page); Assert.AreEqual("NamePageskij", result); }
public void CreateContentTypeIdentifier_WhenCategoryIsBlock_ShouldAlwaysEndWithProvidedBlockSuffix() { var options = new OptionsFake { BlockSuffix = "Blockskij" }; var typeName = "Name"; var subject = CreateSubject(options); var result = subject.CreateContentTypeIdentifier(typeName, ContentTypeCategory.Block); Assert.IsTrue(result.EndsWith(options.BlockSuffix)); }
public void BuildContentTypeClass_WhenContentTypeIsBlock_ShouldAddBlockBaseType() { var contentType = new ContentType { Name = "MyBlock", ContentTypeCategory = ContentTypeCategory.Block }; var options = new OptionsFake { BlockBaseClass = "BlockBase" }; var subject = CreateSubject(options); var result = subject.BuildContentTypeClass(contentType); Assert.IsTrue(result.Namespaces[1].Types[0].BaseTypes.Count > 0); }
public void EnsureValidNaming_WhenCategoryIsPage_ShouldAlwaysEndWithProvidedPageSuffix() { var options = new OptionsFake { PageSuffix = "Pageskij" }; var typeName = "Name"; var subject = CreateSubject(options); var result = subject.CreateContentTypeIdentifier(typeName, ContentTypeCategory.Page); Assert.IsTrue(result.EndsWith(options.PageSuffix)); }
public void BuildContentTypeClass_ShouldAddImportsFromOptionsToGlobalNamespace() { var options = new OptionsFake { Imports = new[] { "Some.Namespace", "Another.Namespace" } }; var subject = CreateSubject(options); var contentType = new ContentType { Name = "MyBlock" }; var result = subject.BuildContentTypeClass(contentType); var resultImports = result.Namespaces[ContentTypeCodeBuilder.GlobalNamespaceIndex].Imports.Cast<CodeNamespaceImport>(); Assert.AreEqual(options.Imports.Count(), resultImports.Where(x => options.Imports.Contains(x.Namespace)).Count()); }
public void BuildContentTypeClass_ShouldAddImportsFromOptionsToGlobalNamespace() { var options = new OptionsFake { Imports = new[] { "Some.Namespace", "Another.Namespace" } }; var subject = CreateSubject(options); var contentType = new ContentType { Name = "MyBlock" }; var result = subject.BuildContentTypeClass(contentType); var resultImports = result.Namespaces[ContentTypeCodeBuilder.GlobalNamespaceIndex].Imports.Cast <CodeNamespaceImport>(); Assert.AreEqual(options.Imports.Count(), resultImports.Where(x => options.Imports.Contains(x.Namespace)).Count()); }