public void IsAssignableFromType() { Assert.ThrowsExact <ArgumentNullException>(() => Assert.IsAssignableFromType <string>(null)); Assert.ThrowsExact <AssertionException>(() => Assert.IsAssignableFromType <int>("hello")); Assert.ThrowsExact <AssertionException>(() => Assert.IsAssignableFromType <int>(1L)); Assert.DoesNotThrow(() => Assert.IsAssignableFromType <int>(new int?(1))); Assert.DoesNotThrow(() => Assert.IsAssignableFromType <int>(1)); Assert.ThrowsExact <ArgumentNullException>(() => Assert.IsAssignableFromType(null, typeof(string))); Assert.ThrowsExact <ArgumentNullException>(() => Assert.IsAssignableFromType("hello", null)); Assert.ThrowsExact <AssertionException>(() => Assert.IsAssignableFromType("hello", typeof(int))); Assert.ThrowsExact <AssertionException>(() => Assert.IsAssignableFromType(1L, typeof(int))); Assert.DoesNotThrow(() => Assert.IsAssignableFromType(new int?(1), typeof(int))); Assert.DoesNotThrow(() => Assert.IsAssignableFromType(1, typeof(int))); }