コード例 #1
0
        public void EmitSummary_Logs_Expected_Messages_With_Valid_Results_That_Has_Null_Errors_And_Empty_Warnings()
        {
            // Arrange
            var loggerMock = new Mock <ILog>();

            ConsoleEmitter.SetLogger(loggerMock.Object);
            var expectedCompiledCode = "CompiledCode" + Guid.NewGuid();

            var compilerResults = new CompilerResults
            {
                OutputFilePath = string.Empty,
                Errors         = null,
                Warnings       = new List <CompilerError>(),
                CompiledCode   = expectedCompiledCode,
            };
            var emitter = new ConsoleEmitter();

            // Act
            emitter.EmitSummary(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s == "----------------------------")), Times.Exactly(2));
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s == "No Errors or Warnings Found!")), Times.Once);
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s == "Code Emitted:")), Times.Once);
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s == expectedCompiledCode)), Times.Once);
        }
コード例 #2
0
        public void EmitWarnings_Logs_Message_Twice_With_Single_Warning()
        {
            // Arrange
            var loggerMock = new Mock <ILog>();

            ConsoleEmitter.SetLogger(loggerMock.Object);

            var expectedLineText = "expectedLineText" + Guid.NewGuid();
            var compilerResults  = new CompilerResults
            {
                OutputFilePath = string.Empty,
                Warnings       = new List <CompilerError>
                {
                    new CompilerError
                    {
                        Lineno = 0,
                        Type   = string.Empty,
                        Error  = string.Empty,
                        Line   = expectedLineText,
                    }
                },
            };
            var emitter = new ConsoleEmitter();

            // Act
            emitter.EmitWarnings(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.IsAny <string>()), Times.Exactly(2));
            loggerMock.Verify(m => m.Info(It.Is <string>(p => p == expectedLineText)), Times.Once);
        }
コード例 #3
0
        public void EmitSummary_Logs_Expected_Messages_With_Valid_Results_That_Has_No_Warnings_And_One_Error()
        {
            // Arrange
            var loggerMock = new Mock <ILog>();

            ConsoleEmitter.SetLogger(loggerMock.Object);
            var expectedCompiledCode = "CompiledCode" + Guid.NewGuid();

            var compilerResults = new CompilerResults
            {
                OutputFilePath = string.Empty,
                Warnings       = null,
                Errors         = new List <CompilerError>
                {
                    new CompilerError
                    {
                        Lineno = 0,
                        Type   = string.Empty,
                        Error  = string.Empty,
                        Line   = string.Empty,
                    }
                },
                CompiledCode = expectedCompiledCode,
            };
            var emitter = new ConsoleEmitter();

            // Act
            emitter.EmitSummary(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s == "----------------------------")), Times.Once);
            loggerMock.Verify(m => m.Info(It.Is <string>(s => s.Contains("1 Errors"))), Times.Once);
        }
コード例 #4
0
        public void EmitWarnings_Logs_Message_Once_With_Valid_Results_That_Has_Empty_Warnings_Collection()
        {
            // Arrange
            var loggerMock = new Mock <ILog>();

            ConsoleEmitter.SetLogger(loggerMock.Object);

            var compilerResults = new CompilerResults
            {
                OutputFilePath = string.Empty,
                Warnings       = new List <CompilerError>(), // our empty warnings collection
            };
            var emitter = new ConsoleEmitter();

            // Act
            emitter.EmitWarnings(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.IsAny <string>()), Times.Never);
        }