public void UseCases()
        {
            var       log = NullLog.Instance;
            var       ex  = new Exception();
            const int id  = 0;

            log.Debug("Message");
            log.Debug(ex, "Message with exception");
            log.DebugFormat("Message #{0}", id);
            log.DebugFormat(ex, "Message #{0}", id);
            RuleAssert.IsFalse(() => log.IsDebugEnabled());


            log.Warn("Message");
            log.Warn(ex, "Message with exception");
            log.WarnFormat("Message #{0}", id);
            log.WarnFormat(ex, "Message #{0}", id);
            RuleAssert.IsFalse(() => log.IsWarnEnabled());


            log.Info("Message");
            log.Info(ex, "Message with exception");
            log.InfoFormat("Message #{0}", id);
            log.InfoFormat(ex, "Message #{0}", id);
            RuleAssert.IsFalse(() => log.IsInfoEnabled());

            log.Error("Message");
            log.Error(ex, "Message with exception");
            log.ErrorFormat("Message #{0}", id);
            log.ErrorFormat(ex, "Message #{0}", id);
            RuleAssert.IsFalse(() => log.IsErrorEnabled());

            log.Fatal("Message");
            log.Fatal(ex, "Message with exception");
            log.FatalFormat("Message #{0}", id);
            log.FatalFormat(ex, "Message #{0}", id);
            RuleAssert.IsFalse(() => log.IsFatalEnabled());
        }
        public void Implicit_error_conversion()
        {
            MyResult result = Failure.FatalError;

            RuleAssert.IsFalse(() => result.IsSuccess);
        }