Why does Assert.IsInstanceOfType(0.GetType(), typeof(int)) fail?

Solution 1:

Change the call to the following

Assert.IsInstanceOfType(0, typeof(int));

The first parameter is the object being tested, not the type of the object being tested. by passing 0.GetType(), you were saying is "RunTimeType" an instance of System.int which is false. Under the covers thes call just resolves to

if (typeof(int).IsInstanceOfType(0))

Solution 2:

Looks like it should be

Assert.IsInstanceOfType(0, typeof(int))

Your expression is currently evaluating to see if RunTimeType is an instance of RunTimeType, which it isn't.