protected override JsonConverter ResolveContractConverter(Type objectType)
        {
            if (ErrorConverter.CanConvertStatic(objectType))
            {
                return(new ErrorConverter());
            }

            if (ErrorListConverter.CanConvertStatic(objectType))
            {
                return(new ErrorListConverter());
            }

            if (ResourceObjectConverter.CanConvert(objectType))
            {
                return(ResourceObjectConverter);
            }

            if (_resourceObjectListConverter.CanConvert(objectType))
            {
                return(_resourceObjectListConverter);
            }

            if (LinkConverter.CanConvertStatic(objectType))
            {
                return(new LinkConverter());
            }

            if (DocumentRootConverter.CanConvertStatic(objectType))
            {
                return(new DocumentRootConverter());
            }

            return(base.ResolveContractConverter(objectType));
        }
Exemple #2
0
        public void ShouldReturnEmptyStringIfValueIsNull()
        {
            ErrorConverter converter = new ErrorConverter();
            object         errors    = null;

            object result = converter.Convert(errors, null, null, null);

            Assert.AreEqual(string.Empty, result);
        }
Exemple #3
0
        public void ShouldReturnEmptyStringIfCollectionIsEmpty()
        {
            ErrorConverter converter = new ErrorConverter();

            List <ValidationError> errors = new List <ValidationError>();

            object result = converter.Convert(errors.AsReadOnly(), null, null, null);

            Assert.AreEqual(string.Empty, result);
        }
Exemple #4
0
        public void ShouldReturnEmptyStringIfCollectionIsEmpty()
        {
            ErrorConverter converter = new ErrorConverter();

            ObservableCollection <ValidationError> value = new ObservableCollection <ValidationError>();

            object result = converter.Convert(value, null, null, null);

            Assert.AreEqual(string.Empty, result);
        }
Exemple #5
0
        public void ShouldReturnTheErrorContentOfTheFirstItemInTheCollection()
        {
            ErrorConverter converter = new ErrorConverter();

            List <ValidationError> errors = new List <ValidationError>();
            ValidationError        error  = new ValidationError(new ExceptionValidationRule(), new object());

            error.ErrorContent = "TestError";
            errors.Add(error);

            object result = converter.Convert(errors.AsReadOnly(), null, null, null);

            Assert.AreEqual("TestError", result);
        }
Exemple #6
0
        public void ShouldReturnTheInnerExceptionMessageOfATargetInvocationException()
        {
            ErrorConverter converter = new ErrorConverter();

            List <ValidationError> errors = new List <ValidationError>();
            ValidationError        error  = new ValidationError(new ExceptionValidationRule(), new object());

            error.Exception = new TargetInvocationException(null, new Exception("TestError"));
            errors.Add(error);

            object result = converter.Convert(errors.AsReadOnly(), null, null, null);

            Assert.AreEqual("TestError", result);
        }
        public void ShouldThrowNotImplementedExceptionInConvertBack()
        {
            ErrorConverter converter = new ErrorConverter();

            var convertedValue = converter.ConvertBack(null, null, null, null);
        }