public void GetExplicitStatusCodeReturnsNullIfNoValueIsFound()
        {
            Logger logger1 = new Logger();
            Logger logger2 = new Logger();

            int?value = FlushLogArgsFactory.GetExplicitStatusCode(new List <Logger> {
                logger1, logger2
            });

            Assert.IsNull(value);
        }
        public void GetExplicitStatusCodeUsesDefaultLoggerAsPrimarySource()
        {
            Logger logger1 = new Logger(categoryName: "Category 1");
            Logger logger2 = new Logger();

            logger1.SetStatusCode(200);
            logger2.SetStatusCode(400);

            int?value = FlushLogArgsFactory.GetExplicitStatusCode(new List <Logger> {
                logger1, logger2
            });

            Assert.AreEqual(400, value.Value);
        }
        public void GetExplicitStatusCodeReturnsTheFirstValueFound()
        {
            Logger logger1 = new Logger();
            Logger logger2 = new Logger();
            Logger logger3 = new Logger();

            logger2.SetStatusCode(100);
            logger3.SetStatusCode(200);

            int?value = FlushLogArgsFactory.GetExplicitStatusCode(new List <Logger> {
                logger1, logger2, logger3
            });

            Assert.AreEqual(100, value.Value);
        }
        public void GetExplicitStatusCodeReturnsNullForEmptyList()
        {
            int?value = FlushLogArgsFactory.GetExplicitStatusCode(new List <Logger>());

            Assert.IsNull(value);
        }
 public void GetExplicitStatusCodeThrowsExceptionForNullList()
 {
     int?value = FlushLogArgsFactory.GetExplicitStatusCode(null);
 }