public void ReportMutantTestResult_ShouldLogEachTimeKilledMutantIsReported(MutantStatus status)
        {
            var mutantTestResult = new Mutant()
            {
                ResultStatus = status
            };

            for (int i = 0; i < 5; i++)
            {
                _mutantsResultReporter.ReportMutantTestResult(mutantTestResult);

                // Verify the right oneline logger is called for each status
                switch (status)
                {
                case MutantStatus.Killed:
                    _mutantKilledLogger.Verify(x => x.ReplaceLog(It.IsAny <string>(), It.Is <object[]>(y => y.Length == 1 && (int)y.First() == i + 1)));
                    break;

                case MutantStatus.Survived:
                    _mutantSurvivedLogger.Verify(x => x.ReplaceLog(It.IsAny <string>(), It.Is <object[]>(y => y.Length == 1 && (int)y.First() == i + 1)));
                    break;

                case MutantStatus.Timeout:
                    _mutantTimeoutLogger.Verify(x => x.ReplaceLog(It.IsAny <string>(), It.Is <object[]>(y => y.Length == 1 && (int)y.First() == i + 1)));
                    break;
                }
            }
        }