Those three methods have three different, specific goals. The goal of testing is to provide clear verification and validation of your code. By using the most clear and specific method possible, you're making your test the smallest test possible, with the most specific, clear meaning possible.
This helps because it adds clarity - you can see, specifically, what a test is supposed to do in a more declarative nature, where using the same method for multiple testing scenarios, which each have a different meaning, requires more understanding of the code itself, instead of the nature of the test.
In this case, the third is the (only) appropriate one to use. However, if you had this situation, you'd use a different one, for example:
Assert.IsTrue( myClass.MethodThatReturnsTrue() );
You should use the method that provides the most clarity as to your goal - if you're checking two values for equality, use Assert.IsEqual
, if you're checking a boolean to verify that it's false, use Assert.IsFalse
. This makes the error reports meaningful and understandable.