public void TestGetActualType() { var converter = new BuiltInCollectionsTypeConverter(); DoTest(converter, typeof(List<object>), typeof(IEnumerable)); DoTest(converter, typeof(List<object>), typeof(ICollection)); DoTest(converter, typeof(List<object>), typeof(IList)); DoTest(converter, typeof(ArrayList), typeof(ArrayList)); DoTest(converter, null, typeof(IDictionary)); DoTest(converter, typeof(List<int>), typeof(IEnumerable<int>)); DoTest(converter, typeof(List<int>), typeof(ICollection<int>)); DoTest(converter, typeof(List<int>), typeof(IList<int>)); DoTest(converter, typeof(List<int>), typeof(List<int>)); DoTest(converter, null, typeof(IDictionary<int, string>)); }
private static void DoTest(BuiltInCollectionsTypeConverter converter, Type expectedType, Type input) { var actualType = converter.GetActualType(input, new Mock<IAdviceRequester>().Object); Assert.AreEqual(expectedType, actualType); }