次のMSユニットテストに出くわしました:
[TestMethod]
public void PersonRepository_AddressCountForSinglePerson_IsNotEqualToZero()
{
// Arrange.
Person person;
// Act.
person = personRepository.FindSingle(1);
// Assert.
Assert.AreNotEqual<int>(person.Addresses.Count, 0);
}
アサーションを行うときにジェネリックを使用するのを見たことがありません。
これは私がアサーションを書く方法です:
// Assert.
Assert.AreNotEqual(person.Addresses.Count, 0);
違いはなんですか?
使用しているオーバーロードにカーソルAreNotEqual()
を合わせると、メソッドは 2 つの double を比較するオーバーロードを使用しています (なぜ int、int オーバーロードがないのかわかりません)。
そして、ジェネリック型パラメーターを入れた場合、ReSharper はそれが冗長であると言います。<int>
だから私の質問は:私がそれを行う方法がまだタイプセーフである場合、なぜジェネリックアサーションを使用するのですか?