Наткнулся на следующий MS Unit Test:
[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()
, которую я использую, метод использует перегрузку, которая сравнивает две двойные (не уверен, почему нет перегрузки int, int).
И если я делаю вставим универсальный параметр типа <int>
в, ReSharper говорит, что это избыточно.
Итак, мой вопрос: если способ, которым я это делаю, все еще безопасен от типа, зачем использовать общие утверждения?