public void ShouldReturnIntegrationStatisticsWithCorrectBuildLabelAndStatusForFailedBuild()
            {
                IntegrationStatistics integrationStatistics = processor.ProcessBuildResults(failedBuild);

                Assert.AreEqual(failedLabel, integrationStatistics.BuildLabel);
                Assert.AreEqual(IntegrationStatus.Failure, integrationStatistics.IntegrationStatus);
            }
            public void ShouldReturnIntegrationStatisticsWithCorrectBuildLabelAndStatusForSuccessfulBuild()
            {
                IntegrationStatistics integrationStatistics = processor.ProcessBuildResults(successfulBuild);

                Assert.AreEqual(successfulLabel, integrationStatistics.BuildLabel);
                Assert.AreEqual("Statistics Publisher", integrationStatistics.ProjectName);
                Assert.AreEqual(IntegrationStatus.Success, integrationStatistics.IntegrationStatus);
                Assert.AreEqual(integrationTime, integrationStatistics.IntegrationTime);
            }
            public void ShouldProcessIntegrationResultToGetIntegrationStatistics()
            {
                IntegrationStatistics statistics = processor.ProcessBuildResults(failedBuild);

                Assert.AreEqual(failedLabel, statistics.BuildLabel);
                Assert.AreEqual(integrationTime, statistics.IntegrationTime);
                Assert.AreEqual(IntegrationStatus.Failure, statistics.IntegrationStatus);
                Assert.AreEqual("Statistics Publisher", statistics.ProjectName);

                Assert.AreEqual(10, statistics.ConfiguredStats["test-count"]);
            }
			public void ShouldGenerateAFileInTheArtifactDirectory()
			{
				IMock mockIntegrationResult = new DynamicMock(typeof (IIntegrationResult));
				mockIntegrationResult.ExpectAndReturn("ArtifactDirectory", artifactDirectory);
				IIntegrationResult mockIntegrationResultInstance = (IIntegrationResult) mockIntegrationResult.MockInstance;
				IMock mockProcessor = new DynamicMock(typeof(BuildStatisticsProcessor));
				IntegrationStatistics statistics = new IntegrationStatistics();
				mockProcessor.ExpectAndReturn("ProcessBuildResults", statistics, mockIntegrationResultInstance);
				publisher.Processor = (BuildStatisticsProcessor) mockProcessor.MockInstance;
				publisher.Run(mockIntegrationResultInstance);
				filePath = Path.Combine(artifactDirectory, publisher.FileName);
				bool fileExists = File.Exists(filePath);
				Assert.IsTrue(fileExists);
				if (fileExists) File.Delete(filePath);
			}
            public void ShouldGenerateAFileInTheArtifactDirectory()
            {
                IMock mockIntegrationResult = new DynamicMock(typeof(IIntegrationResult));

                mockIntegrationResult.ExpectAndReturn("ArtifactDirectory", artifactDirectory);
                IIntegrationResult mockIntegrationResultInstance = (IIntegrationResult)mockIntegrationResult.MockInstance;
                IMock mockProcessor = new DynamicMock(typeof(BuildStatisticsProcessor));
                IntegrationStatistics statistics = new IntegrationStatistics();

                mockProcessor.ExpectAndReturn("ProcessBuildResults", statistics, mockIntegrationResultInstance);
                publisher.Processor = (BuildStatisticsProcessor)mockProcessor.MockInstance;
                publisher.Run(mockIntegrationResultInstance);
                filePath = Path.Combine(artifactDirectory, publisher.FileName);
                bool fileExists = File.Exists(filePath);

                Assert.IsTrue(fileExists);
                if (fileExists)
                {
                    File.Delete(filePath);
                }
            }