public void ValidateTestResults() { Console.WriteLine("Validate: {0}", TestCaseName); XElement xDocument = XElement.Load(Path.Combine(Properties.Settings.Default.TestsFolder, TestCaseName)); int testCaseNumber = 0; foreach (XElement xTestCase in xDocument.Elements(TestCaseElementName)) { Console.WriteLine("Test case {0}.", ++testCaseNumber); string testCaseSource = xTestCase.Element(SourceElementName).Value; CodeSentence testCaseCodeSentence = CodeSentence.Create(xTestCase.Element(CodeSentence.ElementName)); CodeSentence[] codeSentences = Parser.Parse(testCaseSource); if (codeSentences == null || codeSentences.Length == 0) { Console.WriteLine("*** Could not parse source."); } else if (codeSentences.Length > 1) { Console.WriteLine("*** More than one CodeSentence returned by parser."); } else if (testCaseCodeSentence != codeSentences[0]) { Console.WriteLine("*** CodeSentence mismatch."); } } Console.WriteLine("Validate complete: {0}", TestCaseName); }
public void ValidateTestResults() { Console.WriteLine("Validate: {0}", TestCaseName); var xDocument = XElement.Load(Path.Combine(_configuration["Paths:TestFolder"], TestCaseName)); var testCaseNumber = 0; foreach (var xTestCase in xDocument.Elements(TestCaseElementName)) { Console.WriteLine("Test case {0}.", ++testCaseNumber); var testCaseSource = xTestCase.Element(SourceElementName).Value; var testCaseCodeSentence = CodeSentence.Create(xTestCase.Element(CodeSentence.ElementName)); var codeSentences = Parser.Parse(testCaseSource); if (codeSentences == null || codeSentences.Length == 0) { Console.WriteLine("*** Could not parse source."); } else if (codeSentences.Length > 1) { Console.WriteLine("*** More than one CodeSentence returned by parser."); } else if (testCaseCodeSentence != codeSentences[0]) { Console.WriteLine("*** CodeSentence mismatch."); } } Console.WriteLine("Validate complete: {0}", TestCaseName); }
public void CreateTestResults() { Program program = Program.Load(Path.Combine(Properties.Settings.Default.SamplesFolder, ProgramName)); XElement xDocument = new XElement(RootElementName, new XAttribute(ProgramNameAttributeName, ProgramName)); foreach (Procedure procedure in program.Procedures) { foreach (Clause clause in procedure.Clauses) { XElement xCodeSentence = clause.CodeSentence.ToXElement(); CodeSentence codeSentence = CodeSentence.Create(xCodeSentence); Debug.Assert(codeSentence == clause.CodeSentence); XElement xTest = new XElement(TestCaseElementName, new XElement(SourceElementName, clause.ToString()), xCodeSentence); xDocument.Add(xTest); } } xDocument.Save(Path.Combine(Properties.Settings.Default.TestsFolder, TestCaseName)); }
public void CreateTestResults() { var filename = Path.Combine(_configuration["Paths:SampleFolder"], ProgramName); if (!File.Exists(filename)) { Console.WriteLine("File {0} not found, aborting", filename); return; } var program = Prolog.Program.Load(filename); var xDocument = new XElement(RootElementName, new XAttribute(ProgramNameAttributeName, ProgramName)); foreach (var procedure in program.Procedures) { foreach (var clause in procedure.Clauses) { var xCodeSentence = clause.CodeSentence.ToXElement(); var codeSentence = CodeSentence.Create(xCodeSentence); Debug.Assert(codeSentence == clause.CodeSentence); var xTest = new XElement(TestCaseElementName, new XElement(SourceElementName, clause.ToString()), xCodeSentence); xDocument.Add(xTest); } } xDocument.Save(Path.Combine(_configuration["Paths:TestFolder"], TestCaseName)); }