public void It_Should_Serialise_To_This() { const string expectedXML = FullEntitySetXml; EntitySet entitySet = new EntitySetImpl(); entitySet.AddEntity(When_Serialising_An_Empty_Entity.GetEntity()); entitySet.AddReference(When_Serialising_An_Reference_With_All_Fields_Set.GetReference()); string outputXML = new EntitySetSerialisationScheme().SerialiseEntitySet(entitySet); outputXML = XmlSqueezer.RemoveWhitespaceBetweenElements(outputXML); Assert.That(outputXML, Is.EqualTo(expectedXML)); }
public void Setup() { database = new Database("Db1"); entitySet = new EntitySetImpl(); table = new Table("Table1"); table.AddColumn(new Column("Column1")); entity1 = new EntityImpl("Entity1"); entity1.AddProperty(new PropertyImpl("Property1")); entity2 = new EntityImpl("Entity2"); entity2.AddProperty(new PropertyImpl("Property2")); var reference = entity1.CreateReferenceTo(entity2); reference.Identifier = new Guid("11111111-1111-1111-1111-111111111111"); reference.End1Name = "end1"; reference.End2Name = "end2"; entitySet.AddReference(reference); database.AddTable(table); entitySet.AddEntity(entity1); }
public static Reference GetReference() { Reference reference = new ReferenceImpl(); var mappingSet = new MappingSetImpl(); var entitySet = new EntitySetImpl(); entitySet.AddReference(reference); mappingSet.EntitySet = entitySet; return reference; }
public EntitySet DeserialiseEntitySet(XmlNode node, IDatabase database) { if (string.IsNullOrEmpty(node.InnerXml)) { return(new EntitySetImpl()); } var set = new EntitySetImpl(); Version = int.Parse(node.Attributes["Version"].Value); Dictionary <XmlNode, Entity> entityNodes = new Dictionary <XmlNode, Entity>(); var entityNodeList = node.SelectNodes("Entities/Entity"); if (entityNodeList != null) { foreach (XmlNode entityNode in entityNodeList) { Entity entity = DeserialiseEntity(entityNode); entityNodes[entityNode] = entity; set.AddEntity(entity); } } ProcessScriptBase(set, node); // Second processing pass if (entityNodeList != null) { foreach (XmlNode entityNode in entityNodeList) { PostProcessEntity(set, database, entityNodes[entityNode], entityNode); } } var refNodes = node.SelectNodes("References/Reference"); if (refNodes != null) { foreach (XmlNode referenceNode in refNodes) { Reference reference = DeserialiseReference(referenceNode, set); if (reference.Entity1 != null && reference.Entity2 != null) { reference.Entity1.AddReference(reference); if (reference.Entity1 != reference.Entity2) { reference.Entity2.AddReference(reference); } set.AddReference(reference); } } } var componentSpecNodes = node.SelectNodes("ComponentSpecifications/ComponentSpecification"); if (componentSpecNodes != null) { foreach (XmlNode specNode in componentSpecNodes) { DeserialiseComponentSpecification(specNode, set); } } if (entityNodeList != null) { foreach (XmlNode entityNode in entityNodeList) { var entity = entityNodes[entityNode]; // Key requires Components to have been deserialised first. entity.Key = DeserialiseKey(entityNode.SelectSingleNode("Key"), entity); } } return(set); }