// Helper method to autogenerate Exslt xunit test data from XsltScenarios.xml public void AutoGenerateXunitTestData() { StreamWriter sw = new StreamWriter(new FileStream("XunitTestList.txt", FileMode.Create, FileAccess.Write)); //Load the control file XmlDocument doc = new XmlDocument { XmlResolver = new XmlUrlResolver() }; doc.Load("XsltScenarios.xml"); XmlNodeList TestCases = doc.DocumentElement.SelectNodes("//Variation"); foreach (XmlNode Variation in TestCases) { foreach (string ver in new string[] { "v1", "v2" }) { string variationDesc = Variation.Attributes.GetNamedItem("Desc").Value; int variationId = Convert.ToInt32(Variation.Attributes.GetNamedItem("Id").Value); sw.WriteLine("//[Variation(id = " + variationId.ToString() + ", Desc = \"" + variationDesc + ")]"); _xmlFile = Variation.SelectSingleNode("Data/Xml").InnerText; _xslFile = Variation.SelectSingleNode("Data/Xsl").InnerText; string ResultType = Variation.SelectSingleNode("Data/Result[1]/@Type").Value; ResultType = ResultType.ToLower(); if (ResultType == "valid") { _baseline = Variation.SelectSingleNode("Data/Result").InnerText; try { _baseline = Variation.SelectSingleNode("Data/Result[@TransformType='" + ver + "']").InnerText;; } catch (NullReferenceException) { } } sw.WriteLine("[InlineData(" + "\"" + _xmlFile + "\", " + "\"" + _xslFile + "\", " + "\"" + ResultType + "\", " + "\"" + _baseline + "\", " + "\"" + ver + "\"" + ")]"); } } sw.WriteLine("[Theory]"); sw.Dispose(); }