public void Can_Create_Child_Node_With_Name_Not_Matching_Property_Name() { var serializer = new XomDataConverter(); var data = new XomNodeData { NodeType = NodeA.XomNode, ChildNodes = new KeyValuePair<string, XomNodeData>[] { new KeyValuePair<string, XomNodeData>("C1", new XomNodeData { NodeType = NodeB.XomNode }) } }; var result = (NodeA)serializer.ConvertToXmlObject(data); Assert.IsNotNull(result.Child1, "Child1 was incorrectly null"); }
public void Can_Serialize_IEnumerable_Data_Nodes_Into_Xml_Object_Collection() { var serializer = new XomDataConverter(); var innerData1 = new XomNodeData { NodeType = NodeB.XomNode }; var data = new XomNodeData { NodeType = NodeA.XomNode, ChildNodes = new KeyValuePair<string, XomNodeData>[] { new KeyValuePair<string, XomNodeData>("CollectionChildren", innerData1), new KeyValuePair<string, XomNodeData>("CollectionChildren", innerData1) } }; var result = (NodeA)serializer.ConvertToXmlObject(data); Assert.AreEqual(2, result.CollectionChildren.Count, "Incorrect number of elements in the collection children node"); }
public UiStructureViewModel() { _menuItems = new ObservableCollection<UiStructureMenuItem>(); var reader = new XomReader(); var nodes = reader.GenerateNodes(typeof(AssetCollection)); var rootNode = nodes.First(x => x.IsRoot); RootNode = new ObservableCollection<UiNode>(new[] { CreateRootNodeFromFile(@"E:\temp\ui.xml") }); TestCommand = new RelayCommand(() => { var root = _rootNode.First(); var serializer = new XomDataConverter(); var nodeData = root.CreateDataNode(); var serializedData = serializer.ConvertToXmlObject(nodeData); var xmlSerializer = new XmlSerializer(serializedData.GetType()); using (var stream = File.OpenWrite(@"c:\temp\test.xml")) xmlSerializer.Serialize(stream, serializedData); }); }
public void Converts_Attribute_By_Xml_Name() { var serializer = new XomDataConverter(); var data = new XomNodeData { NodeType = NodeA.XomNode, AttributeData = new { Attribute2 = "Test" } }; var result = (NodeA)serializer.ConvertToXmlObject(data); Assert.AreEqual("Test", result.Attr2, "Attr2's value was incorrect"); }
public void Can_Set_Nullable_Attribute_Source_To_Non_Nullable_Target() { const int testValue = 5; var serializer = new XomDataConverter(); var data = new XomNodeData { NodeType = NodeA.XomNode, AttributeData = new { Attribute3 = (int?)testValue } }; var result = (NodeA)serializer.ConvertToXmlObject(data); Assert.AreEqual(testValue, result.Attribute3, "Attribute3 had an incorrect value"); }
public void Nullable_Attribute_Source_That_Has_Null_Value_Is_Ignored() { var serializer = new XomDataConverter(); var data = new XomNodeData { NodeType = NodeA.XomNode, AttributeData = new { Attribute3 = (int?)null } }; var result = (NodeA)serializer.ConvertToXmlObject(data); Assert.AreEqual(0, result.Attribute3, "Attribute3 had an incorrect value"); Assert.IsFalse(result.Attribute3Set, "Attribute3's value was set when it shouldn't have been"); }
public void Exception_Thrown_When_Null_Object_Passed_Into_Seriailzer() { var serializer = new XomDataConverter(); serializer.ConvertToXmlObject(null); }
public void Exception_Thrown_When_Data_Object_Has_Null_XomNode() { var data = new XomNodeData(); var serializer = new XomDataConverter(); serializer.ConvertToXmlObject(data); }
public void Exception_Thrown_When_Attribute_Types_Dont_Match() { var serializer = new XomDataConverter(); var data = new XomNodeData { NodeType = NodeA.XomNode, AttributeData = new { Attribute2 = 1 } }; var result = (NodeA)serializer.ConvertToXmlObject(data); }
public void Creates_Correct_XML_Serialization_Object() { var data = new XomNodeData { NodeType = new XomNode { Type = typeof(NodeA) } }; var serializer = new XomDataConverter(); object result = serializer.ConvertToXmlObject(data); Assert.IsNotNull(result, "Resulting object was null"); Assert.IsInstanceOfType(result, typeof(NodeA), "Resulting object was an incorrect type"); }