public static void Ctor_Double() { double offendingNumber = double.PositiveInfinity; var exception = new NotFiniteNumberException(offendingNumber); Assert.Equal(offendingNumber, exception.OffendingNumber); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); }
public static void Ctor_String() { string message = "Created NotFiniteNumberException"; var exception = new NotFiniteNumberException(message); Assert.Equal(message, exception.Message); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); }
public static void Ctor_Empty() { var exception = new NotFiniteNumberException(); Assert.NotNull(exception); Assert.NotEmpty(exception.Message); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); }
public void CanCreatePoliciesForHandler() { ExceptionPolicyData exceptionPolicyData = new ExceptionPolicyData("policy"); settings.ExceptionPolicies.Add(exceptionPolicyData); ExceptionTypeData exceptionTypeData = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.ThrowNewException); exceptionPolicyData.ExceptionTypes.Add(exceptionTypeData); FaultContractExceptionHandlerData exceptionHandlerData = new FaultContractExceptionHandlerData("handler1", typeof(MockFaultContract).AssemblyQualifiedName); exceptionHandlerData.ExceptionMessage = "fault message"; exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Message", "{Message}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Data", "{Data}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("SomeNumber", "{OffendingNumber}")); exceptionTypeData.ExceptionHandlers.Add(exceptionHandlerData); var manager = settings.BuildExceptionManager(); NotFiniteNumberException originalException = new NotFiniteNumberException("MyException", 12341234123412); originalException.Data.Add("someKey", "someValue"); try { manager.HandleException(originalException, "policy"); Assert.Fail("a new exception should have been thrown"); } catch (FaultContractWrapperException e) { MockFaultContract fault = (MockFaultContract)e.FaultContract; Assert.AreEqual(originalException.Message, fault.Message); Assert.AreEqual(originalException.Data.Count, fault.Data.Count); Assert.AreEqual(originalException.Data["someKey"], fault.Data["someKey"]); Assert.AreEqual(originalException.OffendingNumber, fault.SomeNumber); } }
public static void Ctor_String_Double() { string message = "Created NotFiniteNumberException"; double offendingNumber = double.NegativeInfinity; var exception = new NotFiniteNumberException(message, offendingNumber); Assert.Equal(message, exception.Message); Assert.Equal(offendingNumber, exception.OffendingNumber); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); }
public static void Ctor_String_Exception() { string message = "Created NotFiniteNumberException"; var innerException = new Exception("Created inner exception"); var exception = new NotFiniteNumberException(message, innerException); Assert.Equal(message, exception.Message); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); Assert.Same(innerException, exception.InnerException); Assert.Equal(innerException.HResult, exception.InnerException.HResult); }
public static void Ctor_String_Double_Exception() { string message = "Created NotFiniteNumberException"; double offendingNumber = double.NaN; var innerException = new Exception("Created inner exception"); var exception = new NotFiniteNumberException(message, offendingNumber, innerException); Assert.Equal(offendingNumber, exception.OffendingNumber); Assert.Equal(message, exception.Message); Assert.Equal(innerException, exception.InnerException); Assert.Equal(COR_E_NOTFINITENUMBER, exception.HResult); }
public void CanInjectAttributesIntoFaultContract() { NameValueCollection attributes = new NameValueCollection(); attributes.Add("Message", "{Message}"); attributes.Add("Data", "{Data}"); attributes.Add("SomeNumber", "{OffendingNumber}"); FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes); NotFiniteNumberException exception = new NotFiniteNumberException("MyException", 12341234123412); exception.Data.Add("someKey", "someValue"); FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid()); MockFaultContract fault = (MockFaultContract)result.FaultContract; Assert.AreEqual(exception.Message, fault.Message); Assert.AreEqual(exception.Data.Count, fault.Data.Count); Assert.AreEqual(exception.Data["someKey"], fault.Data["someKey"]); Assert.AreEqual(exception.OffendingNumber, fault.SomeNumber); }
public void CanCreatePoliciesForHandler() { ExceptionPolicyData exceptionPolicyData = new ExceptionPolicyData("policy"); settings.ExceptionPolicies.Add(exceptionPolicyData); ExceptionTypeData exceptionTypeData = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.ThrowNewException); exceptionPolicyData.ExceptionTypes.Add(exceptionTypeData); FaultContractExceptionHandlerData exceptionHandlerData = new FaultContractExceptionHandlerData("handler1", typeof(MockFaultContract).AssemblyQualifiedName); exceptionHandlerData.ExceptionMessage = "fault message"; exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Message", "{Message}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Data", "{Data}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("SomeNumber", "{OffendingNumber}")); exceptionTypeData.ExceptionHandlers.Add(exceptionHandlerData); using(var container = new UnityContainer() .AddExtension(new EnterpriseLibraryCoreExtension(configurationSource))) { ExceptionPolicyImpl policy = container.Resolve<ExceptionPolicyImpl>("policy"); NotFiniteNumberException originalException = new NotFiniteNumberException("MyException", 12341234123412); originalException.Data.Add("someKey", "someValue"); try { policy.HandleException(originalException); Assert.Fail("a new exception should have been thrown"); } catch (FaultContractWrapperException e) { MockFaultContract fault = (MockFaultContract)e.FaultContract; Assert.AreEqual(originalException.Message, fault.Message); Assert.AreEqual(originalException.Data.Count, fault.Data.Count); Assert.AreEqual(originalException.Data["someKey"], fault.Data["someKey"]); Assert.AreEqual(originalException.OffendingNumber, fault.SomeNumber); } } }
public void CanInjectInvalidPropertyValueIntoCustomPropertyFaultContract() { NameValueCollection attributes = new NameValueCollection(); attributes.Add("Invalid", "{OffendingNumber}"); FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes); NotFiniteNumberException exception = new NotFiniteNumberException("MyException", 1231254); FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid()); Assert.AreEqual((double)0, ((MockFaultContract)result.FaultContract).SomeNumber); }