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");
        }
Exemple #2
0
        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");
        }