public void WriteTestSequenceShouldWriteCorrectFileContentsIfTestCompletedIsTrue() { var xmlReaderWriter = new XmlReaderWriter(); var testObject = new BlameTestObject(new TestCase("Abc.UnitTest1", new Uri("test:/abc"), "Abc.dll")); testObject.DisplayName = "UnitTest1"; var testSequence = new List <Guid> { testObject.Id }; var testObjectDictionary = new Dictionary <Guid, BlameTestObject> { { testObject.Id, testObject } }; testObjectDictionary[testObject.Id].IsCompleted = true; var filePath = xmlReaderWriter.WriteTestSequence(testSequence, testObjectDictionary, Path.GetTempPath()); var testCaseList = xmlReaderWriter.ReadTestSequence(filePath); File.Delete(filePath); Assert.AreEqual("Abc.UnitTest1", testCaseList.First().FullyQualifiedName); Assert.AreEqual("UnitTest1", testCaseList.First().DisplayName); Assert.AreEqual("Abc.dll", testCaseList.First().Source); Assert.IsTrue(testCaseList.First().IsCompleted); }
/// <summary> /// Initializes a new instance of the <see cref="XmlReaderWriterTests"/> class. /// </summary> public XmlReaderWriterTests() { this.mockFileHelper = new Mock <IFileHelper>(); this.xmlReaderWriter = new TestableXmlReaderWriter(this.mockFileHelper.Object); this.mockStream = new Mock <Stream>(); this.testCaseList = new List <Guid>(); this.testObjectDictionary = new Dictionary <Guid, BlameTestObject>(); var testcase = new TestCase { ExecutorUri = new Uri("test:/abc"), FullyQualifiedName = "TestProject.UnitTest.TestMethod", Source = "abc.dll" }; this.blameTestObject = new BlameTestObject(testcase); }
public void EventHandlersShouldGenerateCorrectTestSequenceAndTestObjectDictionaryForBothCompletedAndNotCompletedTests() { // Initializing Blame Data Collector this.blameDataCollector.Initialize( this.configurationElement, this.mockDataColectionEvents.Object, this.mockDataCollectionSink.Object, this.mockLogger.Object, this.context); TestCase testcase1 = new TestCase("TestProject.UnitTest.TestMethod1", new Uri("test:/abc"), "abc.dll"); TestCase testcase2 = new TestCase("TestProject.UnitTest.TestMethod2", new Uri("test:/abc"), "abc.dll"); testcase1.DisplayName = "TestMethod1"; testcase2.DisplayName = "TestMethod2"; var blameTestObject1 = new BlameTestObject(testcase1); var blameTestObject2 = new BlameTestObject(testcase2); // Setup and Raise TestCaseStart and Session End Event this.mockBlameReaderWriter.Setup(x => x.WriteTestSequence(It.IsAny <List <Guid> >(), It.IsAny <Dictionary <Guid, BlameTestObject> >(), It.IsAny <string>())).Returns(this.filepath); this.mockDataColectionEvents.Raise(x => x.TestCaseStart += null, new TestCaseStartEventArgs(testcase1)); this.mockDataColectionEvents.Raise(x => x.TestCaseStart += null, new TestCaseStartEventArgs(testcase2)); this.mockDataColectionEvents.Raise(x => x.TestCaseEnd += null, new TestCaseEndEventArgs(testcase1, TestOutcome.Passed)); blameTestObject1.IsCompleted = true; this.mockDataColectionEvents.Raise(x => x.SessionEnd += null, new SessionEndEventArgs(this.dataCollectionContext)); // Verify call to mockBlameReaderWriter this.mockBlameReaderWriter.Verify( x => x.WriteTestSequence( It.Is <List <Guid> >(y => y.Count == 2 && y.First() == blameTestObject1.Id && y.Last() == blameTestObject2.Id), It.Is <Dictionary <Guid, BlameTestObject> >( y => y.Count == 2 && y[blameTestObject1.Id].IsCompleted == true && y[blameTestObject2.Id].IsCompleted == false && y[blameTestObject1.Id].FullyQualifiedName == "TestProject.UnitTest.TestMethod1" && y[blameTestObject2.Id].FullyQualifiedName == "TestProject.UnitTest.TestMethod2" && y[blameTestObject1.Id].Source == "abc.dll" && y[blameTestObject2.Id].Source == "abc.dll" && y[blameTestObject1.Id].DisplayName == "TestMethod1" && y[blameTestObject2.Id].DisplayName == "TestMethod2"), It.IsAny <string>()), Times.Once); }