public void FromNodeClonesCorrectly() { var child1 = SourceNode.Valued("child1", "a value"); child1.AddAnnotation("The first annotation"); var root = SourceNode.Node("TestRoot", child1); root.ResourceType = "TestR"; var annotationTypes = new[] { typeof(string) }; var copiedRoot = SourceNode.FromNode(root, recursive: false, annotationsToCopy: annotationTypes); Assert.False(copiedRoot.Children().Any()); Assert.Equal(root.Name, copiedRoot.Name); Assert.Equal(root.Location, copiedRoot.Location); Assert.Equal(root.Text, copiedRoot.Text); Assert.Equal(root.ResourceType, copiedRoot.ResourceType); Assert.Null((root as IAnnotated).Annotation <string>()); copiedRoot = SourceNode.FromNode(root, recursive: true, annotationsToCopy: annotationTypes); Assert.True(copiedRoot.Children().Any()); Assert.Null((root as IAnnotated).Annotation <string>()); var copiedChild = copiedRoot.Children().Single(); Assert.False(copiedChild.Children().Any()); Assert.Equal(child1.Name, copiedChild.Name); Assert.Equal(child1.Location, copiedChild.Location); Assert.Equal(child1.Text, copiedChild.Text); Assert.Equal("The first annotation", (copiedChild as IAnnotated).Annotation <string>()); }
public void ReadsFromNav() { var tpXml = File.ReadAllText(@"TestData\fp-test-patient.xml"); var nav = getXmlNode(tpXml).ToSourceNode(); var nodes = SourceNode.FromNode(nav); Assert.True(nav.IsEqualTo(nodes).Success); }
public void ReadsFromNav() { var tpXml = File.ReadAllText(@"TestData\fp-test-patient.xml"); var xmlnode = FhirXmlNode.Parse(tpXml); var nodes = SourceNode.FromNode(xmlnode); Assert.True(xmlnode.IsEqualTo(nodes).Success); }