public ResultObject(TestSuite suite, IAsyncConnection conn) { var rope = new Rope<char>(); using (var writer = new Editor.RopeWriter(rope)) { suite.Write(writer); } _amlLength = rope.Length; _count = suite.Tests.Count; _conn = conn; _text = new RopeTextSource(rope); _dataSet = new DataSet(); }
public static TestSuite ReadTestSuite(XmlReader reader) { var result = new TestSuite(); string lastComment = null; string sessionId = null; while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Comment) { lastComment = reader.Value; reader.Read(); } else if (reader.NodeType == XmlNodeType.Element) { switch (reader.LocalName) { case "TestSuite": result.Comment = lastComment; lastComment = null; sessionId = reader.GetAttribute("sessionId"); reader.Read(); break; case "Init": using (var r = reader.ReadSubtree()) { ReadItems <ICommand>(result.Init, r, sessionId, ReadCommand); } break; case "Tests": lastComment = null; while (!(reader.NodeType == XmlNodeType.EndElement && reader.LocalName == "Tests")) { if (reader.NodeType == XmlNodeType.Comment) { lastComment = reader.Value; reader.Read(); } else if (reader.NodeType == XmlNodeType.Element) { if (reader.LocalName == "Test") { var test = new Test() { Comment = lastComment, Name = reader.GetAttribute("name") }; using (var r = reader.ReadSubtree()) { ReadItems <ITestCommand>(test.Commands, r, sessionId, ReadTestCommand); } AddPrints(test.Commands); result.Tests.Add(test); } reader.Read(); lastComment = null; } else { reader.Read(); } } reader.Read(); break; case "Cleanup": using (var r = reader.ReadSubtree()) { ReadItems <ICommand>(result.Cleanup, r, sessionId, ReadCommand); } break; default: using (var r = reader.ReadSubtree()) { while (!r.EOF) { r.Read(); } } break; } } else { reader.Read(); } } return(result); }