public void EmitSummary_Logs_Expected_Messages_With_Valid_Results_That_Has_A_Warning_But_No_Errors()
        {
            // 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>
                               {
                                    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.Exactly(2));
            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);
            loggerMock.Verify(m => m.Info(It.Is<string>(s => s.Contains("1 Warnings"))), Times.Once);
        }
        public void EmitSummary_Logs_Expected_Messages_With_Valid_Results_That_Has_Empty_Errors_And_Null_Warnings()
        {
            // Arrange
            var loggerMock = new Mock<ILog>();
            ConsoleEmitter.SetLogger(loggerMock.Object);
            var expectedCompiledCode = "CompiledCode" + Guid.NewGuid();

            var compilerResults = new CompilerResults
            {
                OutputFilePath = string.Empty,
                Errors = new List<CompilerError>(),
                Warnings = null,
                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);
        }
Example #3
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);
        }
        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);
        }
        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);
        }
        public void EmitErrors_Logs_Message_Once_With_Valid_Results_That_Has_Empty_Errors_Collection()
        {
            // Arrange
            var loggerMock = new Mock<ILog>();
            ConsoleEmitter.SetLogger(loggerMock.Object);

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

            // Act
            emitter.EmitErrors(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.IsAny<string>()), Times.Never);
        }
Example #7
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);
        }
        public void EmitErrors_Logs_Message_Four_Times_With_Two_Errors()
        {
            // Arrange
            var loggerMock = new Mock<ILog>();
            ConsoleEmitter.SetLogger(loggerMock.Object);

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

            // Act
            emitter.EmitErrors(compilerResults);

            // Assert
            loggerMock.Verify(m => m.Info(It.IsAny<string>()), Times.Exactly(4));
            loggerMock.Verify(m => m.Info(It.Is<string>(p => p == expectedFirstLineText)), Times.Once);
            loggerMock.Verify(m => m.Info(It.Is<string>(p => p == expectedSecondLineText)), Times.Once);
        }