public static MandateContext <IEnumerable <T> > Contains <T>(this MandateContext <IEnumerable <T> > context, T value)
        {
            context.IsNotNull();

            Mandate.That(context, !context.Value.Contains(value), () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <IEnumerable <T> >(context));
        }
        public static MandateContext <T[]> SizeIs <T>(this MandateContext <T[]> context, int expected)
        {
            context.IsNotNull();

            Mandate.That(context, context.Value.Length != expected, () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <T[]>(context));
        }
        public static MandateContext <T[]> HasAny <T>(this MandateContext <T[]> context)
        {
            context.IsNotNull();

            Mandate.That(context, !context.Value.Any(), () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <T[]>(context));
        }
        public static MandateContext <IDictionary <TKey, TValue> > SizeIs <TKey, TValue>(
            this MandateContext <IDictionary <TKey, TValue> > context, int expected)
        {
            context.IsNotNull();


            Mandate.That(context, context.Value.Count != expected, () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <IDictionary <TKey, TValue> >(context));
        }
        public static MandateContext <IEnumerable <T> > SizeIs <T>(this MandateContext <IEnumerable <T> > context,
                                                                   int expected)
        {
            context.IsNotNull();

            Mandate.That(context, context.Value.Count() != expected,
                         () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <IEnumerable <T> >(context));
        }
        public static MandateContext <IDictionary <TKey, TValue> > HasAny <TKey, TValue>(
            this MandateContext <IDictionary <TKey, TValue> > context)
        {
            context.IsNotNull();


            Mandate.That(context, context.Value.Count == 0, () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <IDictionary <TKey, TValue> >(context));
        }
        public static MandateContext <IDictionary <TKey, TValue> > Contains <TKey, TValue>(
            this MandateContext <IDictionary <TKey, TValue> > context, KeyValuePair <TKey, TValue> value)
        {
            context.IsNotNull();


            Mandate.That(context, context.Value.Contains(value), () => new ArgumentNullException(context.ParamName));

            return(new MandateContext <IDictionary <TKey, TValue> >(context));
        }