public void CanConvertFrom_True()
 {
     // same type
     Assert.That(_converterForString.CanConvertFrom(_typeDescriptorContext, typeof(string)), Is.True);
     // from non-nullable to nullable
     Assert.That(_converterForNullableInt.CanConvertFrom(_typeDescriptorContext, typeof(int)), Is.True);
 }
 public void CanConvertFrom_False()
 {
     // completely unrelated
     Assert.That(_converterForString.CanConvertFrom(_typeDescriptorContext, typeof(int)), Is.False);
     // from base to derived type
     Assert.That(_converterForString.CanConvertFrom(_typeDescriptorContext, typeof(object)), Is.False);
     // from derived to base type
     Assert.That(_converterForObject.CanConvertFrom(_typeDescriptorContext, typeof(string)), Is.False);
     // from nullable to non-nullable
     Assert.That(_converterForInt.CanConvertFrom(_typeDescriptorContext, typeof(int?)), Is.False);
 }