public void ShouldClassifyASpecifiedExceptionWithTheGivenValueEvenIfParentValueIsDifferent() { var specifiedExceptions = new Dictionary <Type, bool>(); specifiedExceptions.Add(typeof(TestParentException), true); specifiedExceptions.Add(typeof(TestGrandChildException), false); SubclassExceptionClassifier classifier = new SubclassExceptionClassifier(specifiedExceptions, false); Assert.True(classifier.Classify(new TestParentException())); Assert.False(classifier.Classify(new TestGrandChildException())); }
public void ShouldClassifyEverySpecifiedExceptionAndTheirChildrenAsTheGivenValue() { var specifiedExceptions = new Dictionary <Type, bool>(); specifiedExceptions.Add(typeof(TestParentException), true); specifiedExceptions.Add(typeof(TestOtherException), false); SubclassExceptionClassifier classifier = new SubclassExceptionClassifier(specifiedExceptions, false); Assert.True(classifier.Classify(new TestParentException())); Assert.True(classifier.Classify(new TestChildException())); Assert.True(classifier.Classify(new TestGrandChildException())); Assert.False(classifier.Classify(new TestOtherException())); }
public void ShouldByDefaultClassifyEveryUnspecifiedExceptionAsFalse() { SubclassExceptionClassifier classifier = new SubclassExceptionClassifier(); Assert.False(classifier.Classify(new TestOtherException())); }
public void ShouldClassifyEveryUnspecifiedExceptionWithTheGivenDefaultValue() { SubclassExceptionClassifier classifier = new SubclassExceptionClassifier(true); Assert.True(classifier.Classify(new TestOtherException())); }
protected AbstractSubclassRetryPolicy(Dictionary <Type, bool> retriableExceptions, bool defaultRetryability) { retryableClassifier = new SubclassExceptionClassifier(retriableExceptions, defaultRetryability); }