static void SelfTest(IXmlDocumentProvider docProvider, IValidationRuleset selectedRuleset) { IValidationSerializer serializer = GetSerializer(docProvider); if (serializer != null) { Stream stream; Encoding encoding; SetupStream(serializer, out stream, out encoding); if (selectedRuleset != null) { serializer.Ruleset = selectedRuleset; Console.WriteLine(string.Format( ResourceManager.GetString("performingSelfTest"), ResourceManager.GetString(selectedRuleset.NameString)) ); RulesetValidator validator = new RulesetValidator(ResourceManager, selectedRuleset); validator.TestProgress += delegate(object sender, TestProgressEventArgs e) { Console.CursorLeft = 0; Console.Write( string.Format( ResourceManager.GetString("testProgress"), e.Passed + e.Failed + e.NotRun, e.TotalTests ) ); }; serializer.TestResults = validator.Test(); } try { serializer.Serialize(stream, encoding, permalink:""); } finally { stream.Close(); } // Open the output file, if requested OpenOutputFile(serializer); } }