private void RunVersioningTests(SifVersion dataVersion, SifVersion schemaVersion, bool ignoreEnumerationErrors) { // Tests assume that the schema files are embedded in the test assembly DirectoryInfo workingDirectory = new DirectoryInfo(Environment.CurrentDirectory); Type rootNamespaceType = typeof(UsAdkTest); String schemaVersionStr = getShortenedVersion(schemaVersion); String schemaResourcePath = rootNamespaceType.Namespace + ".schemas." + schemaVersionStr; AssemblyResourceResolver asr = new AssemblyResourceResolver(rootNamespaceType.Assembly, schemaResourcePath); SchemaValidator sv = null; using (Stream rootSchema = rootNamespaceType.Assembly.GetManifestResourceStream(schemaResourcePath + ".SIF_Message.xsd")) using (TextReader textReader = new StreamReader(rootSchema)) { sv = SchemaValidator.NewInstance(textReader, asr); textReader.Close(); rootSchema.Close(); } sv.IgnoreEnumerationErrors = ignoreEnumerationErrors; String dataVersionStr = getShortenedVersion(dataVersion); // Warning, slight hack. Move up two directories to the project root directory (assumes the project directory is still there) workingDirectory = workingDirectory.Parent.Parent; DirectoryInfo dataDir = new DirectoryInfo(workingDirectory.FullName + "\\data\\" + dataVersionStr); int errorCount = RunDirectoryTest(dataVersion, schemaVersion, dataDir, Console.Out, sv); Assert.AreEqual(0, errorCount, "Tests Failed. See System.out for details"); }
public static SchemaValidator NewInstance(SifVersion schemaVersion) { Type rootNamespaceType = typeof(UsAdkTest); String schemaVersionStr = getShortenedVersion(schemaVersion); String schemaResourcePath = rootNamespaceType.Namespace + ".schemas." + schemaVersionStr; AssemblyResourceResolver asr = new AssemblyResourceResolver(rootNamespaceType.Assembly, schemaResourcePath); SchemaValidator sv = null; using (Stream rootSchema = rootNamespaceType.Assembly.GetManifestResourceStream(schemaResourcePath + ".SIF_Message.xsd")) using (TextReader textReader = new StreamReader(rootSchema)) { sv = SchemaValidator.NewInstance(textReader, asr); textReader.Close(); rootSchema.Close(); } return(sv); }
private void RunVersioningTests(SifVersion dataVersion, SifVersion schemaVersion, bool ignoreEnumerationErrors) { // Tests assume that the schema files are embedded in the test assembly DirectoryInfo workingDirectory = new DirectoryInfo(Environment.CurrentDirectory); Type rootNamespaceType = typeof ( UsAdkTest ); String schemaVersionStr = getShortenedVersion(schemaVersion); String schemaResourcePath = rootNamespaceType.Namespace + ".schemas." + schemaVersionStr; AssemblyResourceResolver asr = new AssemblyResourceResolver(rootNamespaceType.Assembly, schemaResourcePath ); SchemaValidator sv = null; using( Stream rootSchema = rootNamespaceType.Assembly.GetManifestResourceStream( schemaResourcePath + ".SIF_Message.xsd" )) using( TextReader textReader = new StreamReader( rootSchema ) ) { sv = SchemaValidator.NewInstance( textReader, asr ); textReader.Close(); rootSchema.Close(); } sv.IgnoreEnumerationErrors = ignoreEnumerationErrors; String dataVersionStr = getShortenedVersion(dataVersion); // Warning, slight hack. Move up two directories to the project root directory (assumes the project directory is still there) workingDirectory = workingDirectory.Parent.Parent; DirectoryInfo dataDir = new DirectoryInfo(workingDirectory.FullName + "\\data\\" + dataVersionStr); int errorCount = RunDirectoryTest(dataVersion, schemaVersion, dataDir, Console.Out, sv); Assert.AreEqual(0, errorCount, "Tests Failed. See System.out for details"); }