Exemplo n.º 1
0
        public void JobLoggerCanLogToAllLoggers()
        {
            string msg_text1 = "This is a general message 1";
            string msg_text2 = "This is a general message 2";
            string msg_text3 = "This is a general message 3";
            string msg_text4 = "This is a general message 4";

            JobLogger jl = JobLogger.Instance;

            StubLogger consoleLogger  = new StubConsoleLogger();
            StubLogger textFileLogger = new StubTextFileLogger();
            StubLogger dbLogger       = new StubDBLogger();

            //Log two time to console logger
            List <ILogger> loggers = new List <ILogger>
            {
                consoleLogger,
                consoleLogger,
                textFileLogger,
                dbLogger
            };

            List <Type> acceptedMessages = new List <Type>
            {
                typeof(GeneralMessage),
            };

            jl.SetLoggers(loggers);
            jl.AcceptMessages <GeneralMessage>();

            Assert.AreEqual(0, consoleLogger.Output.Count);
            Assert.AreEqual(0, textFileLogger.Output.Count);
            Assert.AreEqual(0, dbLogger.Output.Count);

            jl.LogMessage(new GeneralMessage(msg_text1));
            jl.LogMessage(new GeneralMessage(msg_text2));
            jl.LogMessage(new GeneralMessage(msg_text3));
            jl.LogMessage(new GeneralMessage(msg_text4));

            Assert.AreEqual(8, consoleLogger.Output.Count);
            Assert.AreEqual(4, textFileLogger.Output.Count);
            Assert.AreEqual(4, dbLogger.Output.Count);

            CollectionAssert.AreEqual(new List <string> {
                msg_text1, msg_text1, msg_text2, msg_text2, msg_text3, msg_text3, msg_text4, msg_text4
            }, consoleLogger.Output);
            CollectionAssert.AreEqual(new List <string> {
                msg_text1, msg_text2, msg_text3, msg_text4
            }, textFileLogger.Output);
            CollectionAssert.AreEqual(new List <string> {
                msg_text1, msg_text2, msg_text3, msg_text4
            }, dbLogger.Output);
        }
Exemplo n.º 2
0
        public void JobLoggerCanLogToAllLoggers()
        {
            string msg_text1 = "This is a general message 1";
            string msg_text2 = "This is a general message 2";
            string msg_text3 = "This is a general message 3";
            string msg_text4 = "This is a general message 4";

            JobLogger jl = JobLogger.Instance;

            StubLogger consoleLogger = new StubConsoleLogger();
            StubLogger textFileLogger = new StubTextFileLogger();
            StubLogger dbLogger = new StubDBLogger();

            //Log two time to console logger
            List<ILogger> loggers = new List<ILogger>
            {
                consoleLogger,
                consoleLogger,
                textFileLogger,
                dbLogger
            };

            List<Type> acceptedMessages = new List<Type>
            {
                typeof(GeneralMessage),
            };

            jl.SetLoggers(loggers);
            jl.AcceptMessages<GeneralMessage>();

            Assert.AreEqual(0, consoleLogger.Output.Count);
            Assert.AreEqual(0, textFileLogger.Output.Count);
            Assert.AreEqual(0, dbLogger.Output.Count);

            jl.LogMessage(new GeneralMessage(msg_text1));
            jl.LogMessage(new GeneralMessage(msg_text2));
            jl.LogMessage(new GeneralMessage(msg_text3));
            jl.LogMessage(new GeneralMessage(msg_text4));

            Assert.AreEqual(8, consoleLogger.Output.Count);
            Assert.AreEqual(4, textFileLogger.Output.Count);
            Assert.AreEqual(4, dbLogger.Output.Count);

            CollectionAssert.AreEqual(new List<string> { msg_text1, msg_text1, msg_text2, msg_text2, msg_text3, msg_text3, msg_text4, msg_text4 }, consoleLogger.Output);
            CollectionAssert.AreEqual(new List<string> { msg_text1, msg_text2, msg_text3, msg_text4 }, textFileLogger.Output);
            CollectionAssert.AreEqual(new List<string> { msg_text1, msg_text2, msg_text3, msg_text4 }, dbLogger.Output);
        }