Exemplo n.º 1
0
        private void CheckAllMessages(ContractFailureKind kind, string messageStart, Action <string, Exception, string, ContractFailureKind, Func <string> > fnAssert)
        {
            foreach (Exception ex in new [] { null, new ArgumentNullException() })
            {
                fnAssert(messageStart + ".", ex, null, kind, () =>
                {
                    return(ContractHelper.RaiseContractFailedEvent(kind, null, null, ex));
                });

                fnAssert(messageStart + ".  Message", ex, null, kind, () =>
                {
                    return(ContractHelper.RaiseContractFailedEvent(kind, "Message", null, ex));
                });

                fnAssert(messageStart + ": Condition", ex, "Condition", kind, () =>
                {
                    return(ContractHelper.RaiseContractFailedEvent(kind, null, "Condition", ex));
                });

                fnAssert(messageStart + ": Condition  Message", ex, "Condition", kind, () =>
                {
                    return(ContractHelper.RaiseContractFailedEvent(kind, "Message", "Condition", ex));
                });
            }
        }
        static void ReportFailure(ContractFailureKind kind, string userMessage, string conditionText, Exception innerException)
        {
            string msg = ContractHelper.RaiseContractFailedEvent(kind, userMessage, conditionText, innerException);

            // if msg is null, then it has been handled already, so don't do anything here
            if (msg != null)
            {
                ContractHelper.TriggerFailure(kind, msg, userMessage, conditionText, innerException);
            }
        }
Exemplo n.º 3
0
        internal static void ReportFailure(ContractFailureKind kind, string msg, string conditionTxt, Exception inner)
        {
            string msg1 = ContractHelper.RaiseContractFailedEvent(kind, msg, conditionTxt, inner);

            if (msg1 == null)
            {
                return;
            }
            // ISSUE: reference to a compiler-generated method
            __ContractsRuntime.TriggerFailure(kind, msg1, msg, conditionTxt, inner);
        }
Exemplo n.º 4
0
        private static void ReportFailure(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException)
        {
            if ((failureKind < ContractFailureKind.Precondition) || (failureKind > ContractFailureKind.Assume))
            {
                throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", new object[] { failureKind }), "failureKind");
            }
            string displayMessage = ContractHelper.RaiseContractFailedEvent(failureKind, userMessage, conditionText, innerException);

            if (displayMessage != null)
            {
                ContractHelper.TriggerFailure(failureKind, displayMessage, userMessage, conditionText, innerException);
            }
        }
        private static void ReportFailure(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException)
        {
            if (failureKind < ContractFailureKind.Precondition || failureKind > ContractFailureKind.Assume)
            {
                throw new ArgumentException(string.Format("Invalid enum value: {0}", failureKind), "failureKind");
            }

            EndContractBlock();

            // displayMessage == null means: yes we handled it. Otherwise it is the localized failure message
            var displayMessage = ContractHelper.RaiseContractFailedEvent(failureKind, userMessage, conditionText, innerException);

            if (displayMessage == null)
            {
                return;
            }

            ContractHelper.TriggerFailure(failureKind, displayMessage, userMessage, conditionText, innerException);
        }