So I see that Assert has dozens of methods that seem to do essentially the same thing.
Assert.IsFalse( a == b );
Assert.IsTrue( a != b );
Assert.AreNotEqual( a, b );
Why? Is it just to be more explicit? When should the various methods be used? Is there an offical best practices document?
The difference between
IsFalseandIsTrueis readability.AreNotEqualallows a better error message to be presented when the test fails.IsTruefor example will just tell you that the answer was supposed to be true and was really false.AreNotEqualwill show the two values that were compared in its error message.