Reputation: 19707
I'm kind of new to unit testing, using Microsoft.VisualStudio.TestTools.UnitTesting
;
The 0.GetType()
is actually System.RuntimeType
, so what kind of test do I need to write to pass Assert.IsInstanceOfType(0.GetType(), typeof(int))
?
--- following up, this is my own user error... Assert.IsInstanceOfType(0, typeof(int))
Upvotes: 47
Views: 43990
Reputation: 1115
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.
Upvotes: 19
Reputation: 755259
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))
Upvotes: 83