public void WriteAllLines_Writes_Output_To_Console_In_Debug_Mode()
        {
            // Arrange
            m_Mode.IsRelease.Returns(false);

            // Act
            m_Sut.WriteAllLines(new[]
            {
                "line1",
                "line2"
            });

            // Assert
            m_Console.Received().WriteLine("line1");
            m_Console.Received().WriteLine("line2");
        }
        public void Grade_Handles_GraderException()
        {
            // Arrange
            m_Grader.When(x => x.Process())
            .Do(x =>
            {
                throw new GraderException("test",
                                          new Exception());
            });

            // Act"
            m_Sut.Grade("students.txt");

            // Assert
            m_Logger.Received().Fatal(Arg.Any <string>(),
                                      Arg.Any <GraderException>());

            m_Console.Received().WriteLine(Arg.Any <string>());
        }