public void UseFileArtifactSource() { var fa = new FileDirectoryArtifactSource(_testPath); fa.Mask = "*.xml|*.xsd"; var names = fa.ListArtifactNames(); Assert.AreEqual(3, names.Count()); Assert.IsTrue(names.Contains("extension-definitions.xml")); Assert.IsTrue(names.Contains("flag.xsd")); Assert.IsFalse(names.Contains("patient.sch")); using (var stream = fa.LoadArtifactByName("TestPatient.xml")) { var pat = FhirParser.ParseResource(FhirParser.XmlReaderFromStream(stream)); Assert.IsNotNull(pat); } var vs = fa.LoadConformanceResourceByUrl("http://hl7.org/fhir/StructureDefinition/iso21090-preferred") as StructureDefinition; Assert.IsNotNull(vs); var cis = fa.ListConformanceResources(); foreach (var ci in cis) { Debug.WriteLine(ci.ToString()); } }
public void FileSourceSkipsExecutables() { var fa = new FileDirectoryArtifactSource(_testPath); Assert.IsFalse(fa.ListArtifactNames().Any(name => name.EndsWith(".dll"))); Assert.IsFalse(fa.ListArtifactNames().Any(name => name.EndsWith(".exe"))); }
public void ReadsSubdirectories() { var testPath = prepareExampleDirectory(); var fa = new FileDirectoryArtifactSource(testPath, includeSubdirectories: true); var names = fa.ListArtifactNames(); Assert.AreEqual(7, names.Count()); }
public void GenerateNorwegianSnapshots() { var mySource = new FileDirectoryArtifactSource(@"C:\Git\helsenord.ig\Source\Chapter.3.Package", includeSubdirectories: false); var stdSource = ZipArtifactSource.CreateValidationSource(); var resolver = new ArtifactResolver(new MultiArtifactSource(mySource, stdSource)); var sources = new[] { "noHealthcareService", "noHealthcareServiceLocation", "noOrganization", "noPractitioner", "acronym" }; var generator = new SnapshotGenerator(resolver, markChanges: false); foreach (var source in sources) { var sd = resolver.GetStructureDefinition("http://hl7.no/fhir/StructureDefinition/" + source); Assert.IsNotNull(sd, "Cannot find SD " + sd.Url); generator.Generate(sd); File.WriteAllText(@"C:\Git\helsenord.ig\Source\Chapter.3.Package\structure." + source + ".xml", FhirSerializer.SerializeResourceToXml(sd)); } }