Интересная проблема, с которой я столкнулся недавно:
Я реализовал класс Stream (поток-оболочка для пользовательский компонент конвейера потоковой передачи), а в некоторых более поздних тестах мой конвейер выдавал исключение. Исключение было вызвано вызовом Seek, для которого я жестко закодировал исключение NotImplementedException. из-за того, что мой поток является прямой и недоступной для записи реализацией потока (CanSeek и CanWrite возвращают false, Position:set генерирует исключение, ничего необычного). Вызов Seek исходил из неуправляемого кода, поэтому я не мог слишком много его отлаживать. Все, что я действительно мог сказать, это то, что Seek вызывался в моем Stream, несмотря на то, что CanSeek возвращал false, а пользователь даже не проверял CanSeek.
Что случилось с этим?