public override bool Equals(IMatcher other)
        {
            var valueMatcher = other as IValueMatcher;

            if (valueMatcher == null)
            {
                return(false);
            }

            return(MockingUtil.SafeEquals(this.Value, valueMatcher.Value));
        }
 protected virtual bool CompareConstant(ConstantExpression a, ConstantExpression b)
 {
     if (this.fnCompare != null)
     {
         return(this.fnCompare(a.Value, b.Value));
     }
     else
     {
         return(MockingUtil.SafeEquals(a.Value, b.Value));
     }
 }