помните, что вы должны тестировать свой код, а не .NET Framework,
Я бы не помещал Byte [] bytes = algoirthm.ComputeHash (inputStream) в блок try-catch, код, который вызываетваш метод должен справиться с этим.
При модульном тестировании вы можете протестировать некоторые варианты использования и убедиться, что при действительном вводе не генерируются исключения, а при недопустимом вводе выдаются исключительные исключения.
Я думаю, что ваш код в порядке и именно потому, что .NET выдает исключение, если inputStream имеет значение null, вы делаете эту проверку и выдает ArgumentNullException , если вызывающий код пропускает нулевое значение inputStream
Davide.