示例#1
0
        public void Configuration_CanAdd_Editable_ToExistingDefinition()
        {
            var definitionCollection = new DefinitionCollection {
                DefineUnattributedTypes = true
            };

            definitionCollection.Add(new DefinitionElement
            {
                Name      = "DefinitionTextPage",
                Editables = new ContainableCollection {
                    new ContainableElement {
                        Name  = "MetaTitle",
                        Title = "Page title",
                        Type  = typeof(N2.Details.EditableTextAttribute).AssemblyQualifiedName
                    }
                }
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], new EngineSection {
                Definitions = definitionCollection
            });

            var definitions    = builder.GetDefinitions();
            var textDefinition = definitions.Single(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textDefinition.Editables.Any(e => e.Name == "MetaTitle"));
        }
示例#2
0
        public void Configuration_CanAdd_Editable_ToDefinition()
        {
            DefinitionElement definitionElement = new DefinitionElement {
                Name = "DefinitionTextPage"
            };

            definitionElement.Containers.Add(new ContainableElement {
                Name = "X", Type = typeof(EditableCheckBoxAttribute).AssemblyQualifiedName
            });
            var definitionCollection = new DefinitionCollection {
                DefineUnattributedTypes = true
            };

            definitionCollection.Add(definitionElement);

            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], new EngineSection {
                Definitions = definitionCollection
            });

            var definitions        = builder.GetDefinitions();
            var textPageDefinition = definitions
                                     .Single(d => d.ItemType == typeof(DefinitionTextPage));

            var textEditors = textPageDefinition.Editables
                              .Where(e => e.GetType() == typeof(EditableCheckBoxAttribute));

            Assert.That(textEditors.Count(), Is.EqualTo(1));
        }
示例#3
0
        public void Configuration_CanChange_Editable_OnExistingDefinition()
        {
            var definitionCollection = new DefinitionCollection {
                DefineUnattributedTypes = true
            };

            definitionCollection.Add(new DefinitionElement
            {
                Name      = "DefinitionTextPage",
                Editables = new ContainableCollection {
                    new ContainableElement {
                        Name  = "Title",
                        Title = "Page title in navigation",
                        Type  = typeof(EditableTextAttribute).AssemblyQualifiedName
                    }
                }
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], new EngineSection {
                Definitions = definitionCollection
            });

            var definitions    = builder.GetDefinitions();
            var textDefinition = definitions.Single(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textDefinition.Editables.Any(e => e.Title == "Page title in navigation" && e.GetType() == typeof(EditableTextAttribute)));
            Assert.That(textDefinition.Editables.Any(e => e.Title == "Title" || e.GetType() == typeof(WithEditableTitleAttribute)), Is.False);
        }
示例#4
0
        public void Configuration_CanRemove_Editable_FromDefinition()
        {
            DefinitionElement definitionElement = new DefinitionElement {
                Name = "DefinitionTextPage"
            };

            definitionElement.Containers.Remove(new ContainableElement {
                Name = "Text"
            });
            var definitionCollection = new DefinitionCollection();

            definitionCollection.Add(definitionElement);

            DefinitionBuilder builder = new DefinitionBuilder(typeFinder, new EngineSection {
                Definitions = definitionCollection
            });

            var definitions        = builder.GetDefinitions();
            var textPageDefinition = definitions
                                     .Single(d => d.ItemType == typeof(DefinitionTextPage));

            var textEditors = textPageDefinition.Editables
                              .Where(e => e.GetType() == typeof(EditableFreeTextAreaAttribute));

            Assert.That(textEditors.Count(), Is.EqualTo(0));
        }
        public void Configuration_CanAdd_Definition()
        {
            var definitionCollection = new DefinitionCollection();
            definitionCollection.Add(new DefinitionElement { Name = "DefinitionUndefined", Type = typeof(DefinitionUndefined).AssemblyQualifiedName });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var undefinedDefinition = definitions
                .Single(d => d.ItemType == typeof(DefinitionUndefined));

            Assert.That(undefinedDefinition.IsDefined, Is.True);
        }
        public void Configuration_CanRemove_Definition()
        {
            var definitionCollection = new DefinitionCollection { DefineUnattributedTypes = true };
            definitionCollection.Remove(new DefinitionElement { Name = "DefinitionTextPage" });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase<IUniquelyNamed>[0], new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textPageDefinitions = definitions
                .Where(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textPageDefinitions.Count(), Is.EqualTo(0));
        }
        public void Configuration_CanRemove_Definition()
        {
            var definitionCollection = new DefinitionCollection();
            definitionCollection.Remove(new DefinitionElement { Name = "DefinitionTextPage" });
            DefinitionBuilder builder = new DefinitionBuilder(typeFinder, new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textPageDefinitions = definitions
                .Where(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textPageDefinitions.Count(), Is.EqualTo(0));
        }
示例#8
0
        public void Configuration_CanRemove_Definition()
        {
            var definitionCollection = new DefinitionCollection();

            definitionCollection.Remove(new DefinitionElement {
                Name = "DefinitionTextPage"
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new EngineSection {
                Definitions = definitionCollection
            });

            var definitions         = builder.GetDefinitions();
            var textPageDefinitions = definitions
                                      .Where(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textPageDefinitions.Count(), Is.EqualTo(0));
        }
示例#9
0
        public void Configuration_CanAdd_Definition()
        {
            var definitionCollection = new DefinitionCollection();

            definitionCollection.Add(new DefinitionElement {
                Name = "DefinitionUndefined", Type = typeof(DefinitionUndefined).AssemblyQualifiedName
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new EngineSection {
                Definitions = definitionCollection
            });

            var definitions         = builder.GetDefinitions();
            var undefinedDefinition = definitions
                                      .Single(d => d.ItemType == typeof(DefinitionUndefined));

            Assert.That(undefinedDefinition.IsDefined, Is.True);
        }
        public void Configuration_CanAdd_Editable_ToExistingDefinition()
        {
            var definitionCollection = new DefinitionCollection();
            definitionCollection.Add(new DefinitionElement
            {
                Name = "DefinitionTextPage",
                Editables = new ContainableCollection { new ContainableElement {
                    Name = "MetaTitle",
                    Title = "Page title",
                    Type = typeof(N2.Details.EditableTextAttribute).AssemblyQualifiedName } }
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textDefinition = definitions.Single(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textDefinition.Editables.Any(e => e.Name == "MetaTitle"));
        }
        public void Configuration_CanAdd_Editable_ToDefinition()
        {
            DefinitionElement definitionElement = new DefinitionElement { Name = "DefinitionTextPage" };
            definitionElement.Containers.Add(new ContainableElement { Name = "X", Type = typeof(EditableCheckBoxAttribute).AssemblyQualifiedName });
            var definitionCollection = new DefinitionCollection();
            definitionCollection.Add(definitionElement);

            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textPageDefinition = definitions
                .Single(d => d.ItemType == typeof(DefinitionTextPage));

            var textEditors = textPageDefinition.Editables
                .Where(e => e.GetType() == typeof(EditableCheckBoxAttribute));

            Assert.That(textEditors.Count(), Is.EqualTo(1));
        }
        public void Configuration_CanRemove_Editable_FromDefinition()
        {
            DefinitionElement definitionElement = new DefinitionElement { Name = "DefinitionTextPage" };
            definitionElement.Containers.Remove(new ContainableElement { Name = "Text" });
            var definitionCollection = new DefinitionCollection();
            definitionCollection.Add(definitionElement);

            DefinitionBuilder builder = new DefinitionBuilder(typeFinder, new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textPageDefinition = definitions
                .Single(d => d.ItemType == typeof(DefinitionTextPage));

            var textEditors = textPageDefinition.Editables
                .Where(e => e.GetType() == typeof(EditableFreeTextAreaAttribute));

            Assert.That(textEditors.Count(), Is.EqualTo(0));
        }
示例#13
0
        public void Configuration_CanChange_Editable_OnExistingDefinition()
        {
            var definitionCollection = new DefinitionCollection { DefineUnattributedTypes = true };
            definitionCollection.Add(new DefinitionElement
            {
                Name = "DefinitionTextPage",
                Editables = new ContainableCollection { new ContainableElement {
                    Name = "Title",
                    Title = "Page title in navigation",
                    Type = typeof(EditableTextAttribute).AssemblyQualifiedName } }
            });
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase<IUniquelyNamed>[0], new EngineSection { Definitions = definitionCollection });

            var definitions = builder.GetDefinitions();
            var textDefinition = definitions.Single(d => d.ItemType == typeof(DefinitionTextPage));

            Assert.That(textDefinition.Editables.Any(e => e.Title == "Page title in navigation" && e.GetType() == typeof(EditableTextAttribute)));
            Assert.That(textDefinition.Editables.Any(e => e.Title == "Title" || e.GetType() == typeof(WithEditableTitleAttribute)), Is.False);
        }
 public DefinitionProvider(DefinitionBuilder definitionBuilder)
 {
     this.definitions = definitionBuilder.GetDefinitions().ToArray();
 }
        public void Transforms_Editable_OfCorrectType()
        {
            IList <IEditable> editables = builder.GetDefinitions().Single(d => d.ItemType == typeof(Items.DefinitionStartPage)).Editables;

            Assert.That(editables.OfType <WithEditableTitleAttribute>().Single().Title.EndsWith(" Transformed"));
        }