Assert(true) сработает и на чистом тест-проекте, в которые даже не были добавлены ссылки на тот проект, что будет тестироваться. А проверить на то, что «тестировочный фреймворк работает» — обязанность его разработчиков, как по мне. Не встречались ещё такие, которые бы не работали, но может мне везло.
Проверки типа Assert.IsInstanceOfType(new Core(), typeof(Core)) не несут никакой ценности, разве что проверить что CLR умеет правильно ассоциировать тип с экземпляром класса (думаю, это бы за 15 лет уже заметили).
1) какая разница, enum или int? Элемент в словарь добавляется по его хешкоду, метод GetHashCode() переопределен у каждого наследника System.ValueType (будь то enum, или int), бакеты внутри там тоже дженерики, никакого боксинга никогда не происходит. Если даже я что-то и пропустил, пока читал код Dictionary, то замена одного value-типа на другой точно не даст никакого преимущества.
2) как ещё вы предлагаете узнать, содержится ли в коллекции интересующий нас элемент, кроме перебора всей коллекции?
3) как по-другому проходить по элементам коллекции? :) Под «лишними аллокациями» понимается создание енумератора? Да, он весит больше, чем интовый индекс, но не настолько, чтобы вызывать панику и бежать переписывать все циклы на for
Проверки типа Assert.IsInstanceOfType(new Core(), typeof(Core)) не несут никакой ценности, разве что проверить что CLR умеет правильно ассоциировать тип с экземпляром класса (думаю, это бы за 15 лет уже заметили).
2) как ещё вы предлагаете узнать, содержится ли в коллекции интересующий нас элемент, кроме перебора всей коллекции?
3) как по-другому проходить по элементам коллекции? :) Под «лишними аллокациями» понимается создание енумератора? Да, он весит больше, чем интовый индекс, но не настолько, чтобы вызывать панику и бежать переписывать все циклы на for