public void ShouldWriteTheAttributes()
        {
            var compositeElementMapping = new CompositeElementMapping { Type = typeof(object) };

            xmlCompositeElementWriter = new XmlCompositeElementWriter(null);
            xmlCompositeElementWriter.VerifyXml(compositeElementMapping).HasAttribute("class", typeof(object).AssemblyQualifiedName);
        }
Example #2
0
        public override void Visit(CompositeElementMapping mapping)
        {
            var writer = serviceLocator.GetWriter <CompositeElementMapping>();
            var xml    = writer.Write(mapping);

            document.ImportAndAppendChild(xml);
        }
        public override void Visit(CompositeElementMapping mapping)
        {
            var writer = serviceLocator.GetWriter<CompositeElementMapping>();
            var xml = writer.Write(mapping);

            document.ImportAndAppendChild(xml);
        }
        public void ShouldWriteParent()
        {
            var mapping = new CompositeElementMapping();
            mapping.Parent = new ParentMapping();

            writer.VerifyXml(mapping)
                .Element("parent").Exists();
        }
        CompositeElementMapping ICompositeElementMappingProvider.GetCompositeElementMapping()
        {
            var mapping = new CompositeElementMapping(attributes.Clone());

            PopulateMapping(mapping);

            return(mapping);
        }
        public void ShouldWriteParent()
        {
            var mapping = new CompositeElementMapping();
            mapping.Set(x => x.Parent, Layer.Defaults, new ParentMapping());

            writer.VerifyXml(mapping)
                .Element("parent").Exists();
        }
        public void ShouldWriteManyToOnes()
        {
            var mapping = new CompositeElementMapping();
            mapping.AddReference(new ManyToOneMapping());

            writer.VerifyXml(mapping)
                .Element("many-to-one").Exists();
        }
        public void ShouldWriteNestedCompositeElements()
        {
            var mapping = new CompositeElementMapping();
            mapping.AddCompositeElement(new NestedCompositeElementMapping());

            writer.VerifyXml(mapping)
                .Element("nested-composite-element").Exists();
        }
        public void ShouldWriteProperties()
        {
            var mapping = new CompositeElementMapping();
            mapping.AddProperty(new PropertyMapping());

            writer.VerifyXml(mapping)
                .Element("property").Exists();
        }
Example #10
0
        public void ShouldWriteProperties()
        {
            var mapping = new CompositeElementMapping();

            mapping.AddProperty(new PropertyMapping());

            writer.VerifyXml(mapping)
            .Element("property").Exists();
        }
Example #11
0
        public void ShouldWriteManyToOnes()
        {
            var mapping = new CompositeElementMapping();

            mapping.AddReference(new ManyToOneMapping());

            writer.VerifyXml(mapping)
            .Element("many-to-one").Exists();
        }
        public void ShouldWriteParent()
        {
            var mapping = new CompositeElementMapping();

            mapping.Set(x => x.Parent, Layer.Defaults, new ParentMapping());

            writer.VerifyXml(mapping)
            .Element("parent").Exists();
        }
Example #13
0
        public void ShouldWriteParent()
        {
            var mapping = new CompositeElementMapping();

            mapping.Parent = new ParentMapping();

            writer.VerifyXml(mapping)
            .Element("parent").Exists();
        }
        public void ShouldWriteNestedCompositeElements()
        {
            var mapping = new CompositeElementMapping();

            mapping.AddCompositeElement(new NestedCompositeElementMapping());

            writer.VerifyXml(mapping)
            .Element("nested-composite-element").Exists();
        }
        public void ShouldWriteNestedCompositeElementName()
        {
            var mapping = new CompositeElementMapping();
            mapping.AddCompositeElement(new NestedCompositeElementMapping { Name = "testName"});

            writer.VerifyXml(mapping)
                .Element("nested-composite-element")
                .HasAttribute("name", "testName");
        }
        public void ShouldWriteParentAsFirstElement()
        {
            var mapping = new CompositeElementMapping();
            mapping.Parent = new ParentMapping();
            mapping.AddProperty(new PropertyMapping());

            writer.VerifyXml(mapping)
                .Element("parent").IsFirst()
                .Element("property").Exists();
        }
        public void ShouldWriteNestedCompositeElementName()
        {
            var mapping = new CompositeElementMapping();
            var nestedCompositeElementMapping = new NestedCompositeElementMapping();
            nestedCompositeElementMapping.Set(x => x.Name, Layer.Defaults, "testName");
            mapping.AddCompositeElement(nestedCompositeElementMapping);

            writer.VerifyXml(mapping)
                .Element("nested-composite-element")
                .HasAttribute("name", "testName");
        }
Example #18
0
        /// <summary>
        /// Maps this collection as a collection of components.
        /// </summary>
        /// <param name="action">Component mapping</param>
        public T Component(Action <CompositeElementBuilder <TChild> > action)
        {
            var compositeElementMapping = new CompositeElementMapping();
            var part = new CompositeElementBuilder <TChild>(compositeElementMapping, typeof(T));

            action(part);

            componentMapping = new PassThroughMappingProvider(compositeElementMapping);

            return((T)this);
        }
Example #19
0
        public void ShouldWriteParentAsFirstElement()
        {
            var mapping = new CompositeElementMapping();

            mapping.Parent = new ParentMapping();
            mapping.AddProperty(new PropertyMapping());

            writer.VerifyXml(mapping)
            .Element("parent").IsFirst()
            .Element("property").Exists();
        }
        public void ShouldWriteNestedCompositeElementName()
        {
            var mapping = new CompositeElementMapping();
            var nestedCompositeElementMapping = new NestedCompositeElementMapping();

            nestedCompositeElementMapping.Set(x => x.Name, Layer.Defaults, "testName");
            mapping.AddCompositeElement(nestedCompositeElementMapping);

            writer.VerifyXml(mapping)
            .Element("nested-composite-element")
            .HasAttribute("name", "testName");
        }
        public void ShouldWriteNestedCompositeElementName()
        {
            var mapping = new CompositeElementMapping();

            mapping.AddCompositeElement(new NestedCompositeElementMapping {
                Name = "testName"
            });

            writer.VerifyXml(mapping)
            .Element("nested-composite-element")
            .HasAttribute("name", "testName");
        }
Example #22
0
        /// <summary>
        /// Define a component (composite-element) to be used as the value of the dictionary.
        /// </summary>
        /// <param name="componentBuilder">Builder action</param>
        /// <returns>Builder</returns>
        public MapBuilder <TKey, TValue> Component(Action <CompositeElementBuilder <TValue> > componentBuilder)
        {
            var compositeElementMapping = new CompositeElementMapping();
            var builder = new CompositeElementBuilder <TValue>(compositeElementMapping, mapping.ContainingEntityType);

            componentBuilder(builder);

            mapping.CompositeElement = compositeElementMapping;
            mapping.Element          = null;
            mapping.Relationship     = null;

            return(this);
        }
        public void ShouldWriteTheProperties()
        {
            var compositeElementMapping = new CompositeElementMapping();
            compositeElementMapping.AddProperty(new PropertyMapping());

            var propertyDocument = new XmlDocument();
            propertyDocument.AppendChild(propertyDocument.CreateElement("property"));

            var propertyWriter = MockRepository.GenerateMock<IXmlWriter<PropertyMapping>>();
            propertyWriter
                .Expect(x => x.Write(compositeElementMapping.Properties.First()))
                .Return(propertyDocument);

            xmlCompositeElementWriter = new XmlCompositeElementWriter(propertyWriter);

            xmlCompositeElementWriter.VerifyXml(compositeElementMapping)
                .Element("property").Exists();
        }
        void PopulateMapping(CompositeElementMapping mapping)
        {
            mapping.ContainingEntityType = entity;
            mapping.Set(x => x.Class, Layer.Defaults, new TypeReference(typeof(T)));

            foreach (var property in properties)
            {
                mapping.AddProperty(property.GetPropertyMapping());
            }

            foreach (var reference in references)
            {
                mapping.AddReference(reference.GetManyToOneMapping());
            }

            foreach (var component in components)
            {
                mapping.AddCompositeElement(component.GetCompositeElementMapping());
            }
        }
        CompositeElementMapping ICompositeElementMappingProvider.GetCompositeElementMapping()
        {
            var mapping = new CompositeElementMapping(attributes.CloneInner());

            mapping.ContainingEntityType = entity;

            if (!mapping.IsSpecified("Class"))
            {
                mapping.Class = new TypeReference(typeof(T));
            }

            foreach (var property in properties)
            {
                mapping.AddProperty(property.GetPropertyMapping());
            }

            foreach (var reference in references)
            {
                mapping.AddReference(reference.GetManyToOneMapping());
            }

            return(mapping);
        }
Example #26
0
        void PopulateMapping(CompositeElementMapping mapping)
        {
            mapping.ContainingEntityType = entity;

            if (!mapping.IsSpecified("Class"))
            {
                mapping.Class = new TypeReference(typeof(T));
            }

            foreach (var property in properties)
            {
                mapping.AddProperty(property.GetPropertyMapping());
            }

            foreach (var reference in references)
            {
                mapping.AddReference(reference.GetManyToOneMapping());
            }

            foreach (var component in components)
            {
                mapping.AddCompositeElement(component.GetCompositeElementMapping());
            }
        }
Example #27
0
 public CompositeElementInspector(CompositeElementMapping mapping)
 {
     this.mapping = mapping;
 }
 public override void Visit(CompositeElementMapping compositeElementMapping)
 {
     compositeElementMapping.AcceptVisitor(this);
 }
 public void SetUp()
 {
     compositeElementMapping = new CompositeElementMapping();
 }
Example #30
0
 public virtual void Visit(CompositeElementMapping compositeElementMapping)
 {
 }
Example #31
0
 public virtual void ProcessCompositeElement(CompositeElementMapping compositeElementMapping)
 {
 }
 public CompositeElementInspector(CompositeElementMapping mapping)
 {
     this.mapping = mapping;
 }
 public void CreateDsl()
 {
     mapping = new CompositeElementMapping();
     inspector = new CompositeElementInspector(mapping);
 }
Example #34
0
        protected ModelTester <CompositeElementBuilder <T>, CompositeElementMapping> CompositeElement <T>()
        {
            var mapping = new CompositeElementMapping();

            return(new ModelTester <CompositeElementBuilder <T>, CompositeElementMapping>(() => new CompositeElementBuilder <T>(mapping, typeof(MappedObject)), x => mapping));
        }
 public virtual void Visit(CompositeElementMapping compositeElementMapping)
 {
 }
Example #36
0
 public CompositeElementBuilder(CompositeElementMapping mapping, Type containingEntityType, Member member)
     : this(mapping, containingEntityType)
 {
     InitialiseDefaults(member);
 }
 public override void Visit(CompositeElementMapping compositeElementMapping)
 {
     compositeElementMapping.AcceptVisitor(this);
 }
 public virtual void ProcessCompositeElement(CompositeElementMapping compositeElementMapping)
 {
 }
 public void CreateDsl()
 {
     mapping   = new CompositeElementMapping();
     inspector = new CompositeElementInspector(mapping);
 }
 public CompositeElementInspector(CompositeElementMapping mapping)
 {
     this.mapping = mapping;
     mappedProperties.AutoMap();
 }
Example #41
0
        public CompositeElementBuilder(CompositeElementMapping mapping, Type containingEntityType)
        {
            this.mapping = mapping;

            InitialiseDefaults(containingEntityType);
        }