public void Write(XmlWriter writer, TestRunType testRun)
        {
            try
            {
                _serializer.Serialize(writer, testRun, new XmlSerializerNamespaces(new XmlQualifiedName[]
                                                                                       {
                                                                                           new XmlQualifiedName(string.Empty, "http://microsoft.com/schemas/VisualStudio/TeamTest/2010")
                                                                                       }));
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                if (writer != null)
                {
                    try
                    {
                        writer.Close();
                    }
                    catch { }
                }
            }
        }
        public void Write(Stream stream, TestRunType testRun)
        {
            var xmlWriterSettings = new XmlWriterSettings { Encoding = Utf8EncodingWithNoByteOrderMark, Indent = true };

            var xmlWriter = XmlWriter.Create(stream, xmlWriterSettings);
            Write(xmlWriter, testRun);
        }
 public void Initialize()
 {
     _testRun = new TestRunType
                    {
                        id = "570a67dd-14b3-4443-881a-850c376edee9",
                        name = "Web Test Allegra.com",
                        runUser = "******"
                    };
 }
        public TestRunType GenerateTestRun(string name, string description, DateTime start, DateTime finish, DateTime creation, DateTime queuing, List<HttpRequestResult> results)
        {
            if (results == null) return null;

            var testRun = new TestRunType()
                              {
                                  id = Guid.NewGuid().ToString(),
                                  name = name,
                                  runUser = System.Environment.UserName
                              };

            var testListId = Guid.NewGuid();
            var unitTestTypeId = Guid.NewGuid();

            var testSettings = GenerateTestSettings(name, description, unitTestTypeId);


            var testList = GenerateTestList("Web Crawl Test", testListId);
            var times = GenerateTimes(start, finish, creation, queuing);
            var summary = GenerateSummary(results);

            var unitTests = new List<UnitTestType>();
            var testEntries = new List<TestEntryType>();
            var testResults = new List<object>();
            var testResultTypes = new List<ItemsChoiceType3>();
            
            foreach(HttpRequestResult result in results)
            {
                var storage = string.Empty;
                var unitTestId = Guid.NewGuid();
                var executionId = Guid.NewGuid();

                unitTests.Add(GenerateUnitTest(string.Format("Browser = {0}, RequestUrl = {1}", result.BrowserUsed.Name, result.RequestUrl.AbsoluteUri),
                    storage, unitTestId, executionId,
                    result.GetType()));

                testEntries.Add(GenerateTestEntry(unitTestId, executionId, testListId));

                testResults.Add(GenerateUnitTestResult(executionId, unitTestId, unitTestTypeId, testListId, result));

                testResultTypes.Add(ItemsChoiceType3.UnitTestResult);
            }

            testRun.Items = new object[]
                                {
                                    testSettings, // TODO: TestSettings!
                                    times,
                                    summary,
                                    new TestRunTypeTestLists()
                                        {
                                            TestList = new TestListType[]
                                                {
                                                    testList
                                                }
                                                    
                                        },
                                    new TestEntriesType1()
                                        {
                                            TestEntry = testEntries.ToArray()
                                        },
                                    new ResultsType()
                                        {
                                            Items = testResults.ToArray(),
                                            ItemsElementName = testResultTypes.ToArray()
                                        }
                                };

            return testRun;
        }