Exemple #1
0
 public void GetValueConverterHttpRequestMessageOfT()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.RepresentativeValueAndRefTypeTestDataCollection,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(request.GetType());
         Assert.AreEqual(request.GetType(), converter.Type, "Converter Type is wrong.");
     });
 }
Exemple #2
0
 public void IsAssignableFromParameterReturnsTrueForAllHttpRequestMessageOfTTypes()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.ConvertableValueTypes,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         Type convertType  = request.GetType();
         HttpParameter hpd = new HttpParameter("aName", convertType);
         Assert.IsTrue(hpd.IsAssignableFromParameter(convertType), string.Format("IsAssignableFrom({0}) was false.", convertType.Name));
     });
 }
Exemple #3
0
 public void ConvertHttpRequestMessageOfTtoT()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.RepresentativeValueAndRefTypeTestDataCollection,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         Type convertType = obj == null ? type : obj.GetType();
         HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(convertType);
         object actualValue = converter.Convert(request);
         TestDataAssert.AreEqual(obj, actualValue, string.Format("Convert from HttpRequestMessage<T> to T failed for {0}.", convertType));
     });
 }
Exemple #4
0
 public void ValueConverterReturnsConverterForAllHttpRequestMessageOfTTypes()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.ConvertableValueTypes,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         Type convertType  = request.GetType();
         HttpParameter hpd = new HttpParameter("aName", convertType);
         HttpParameterValueConverter converter = hpd.ValueConverter;
         Assert.IsNotNull("ValueConverter returned null.");
         Assert.AreEqual(convertType, converter.Type, "ValueConverter was made for wrong type.");
     });
 }
Exemple #5
0
 public void ConvertStringToHttpRequestMessageOfTThrows()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.ConvertableValueTypes,
         TestDataVariations.AllSingleInstances,
         (request, type, obj) =>
     {
         Type convertType = obj == null ? type : obj.GetType();
         HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(request.GetType());
         string errorMessage = SR.ValueConversionFailed(typeof(string).FullName, converter.Type.FullName);
         ExceptionAssert.Throws <InvalidOperationException>(
             errorMessage,
             () => converter.Convert("random string"));
     });
 }
Exemple #6
0
 public void ConvertHttpRequestMessageOfTtoObjectContentOfT()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.RepresentativeValueAndRefTypeTestDataCollection,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         Type convertType                      = obj == null ? type : obj.GetType();
         ObjectContent objectContent           = (ObjectContent)GenericTypeAssert.InvokeConstructor(typeof(ObjectContent <>), convertType, new Type[] { convertType }, new object[] { obj });
         HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(objectContent.GetType());
         ObjectContent convertedContent        = converter.Convert(request) as ObjectContent;
         Assert.IsNotNull(convertedContent, "Failed to convert to ObjectContent.");
         Assert.AreEqual(((ObjectContent)request.Content).ReadAs(), convertedContent.ReadAs(), "Incorrect value.");
     });
 }
Exemple #7
0
 public void CanConvertFromTypeReturnsTrueForHttpRequestMessageOfTtoT()
 {
     ObjectContentAssert.ExecuteForEachHttpRequestMessage(
         HttpTestData.RepresentativeValueAndRefTypeTestDataCollection,
         TestDataVariations.All,
         (request, type, obj) =>
     {
         Type convertType = obj == null ? type : obj.GetType();
         HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(convertType);
         if (!converter.CanConvertFromType(request.GetType()))
         {
             Assert.Fail(string.Format("CanConvertFromType failed for {0}.", convertType));
         }
     });
 }
Exemple #8
0
        public void ConvertThrowsWithTtoHttpRequestMessageOfT()
        {
            ObjectContentAssert.ExecuteForEachHttpRequestMessage(
                HttpTestData.RepresentativeValueAndRefTypeTestDataCollection,
                TestDataVariations.All,
                (request, type, obj) =>
            {
                if (obj != null)
                {
                    Type convertType = obj.GetType();
                    HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(request.GetType());
                    string errorMessage = SR.ValueConversionFailed(convertType.FullName, converter.Type.FullName);

                    ExceptionAssert.Throws <InvalidOperationException>(
                        errorMessage,
                        () => converter.Convert(obj));
                }
            });
        }