Как вы определяете, есть ли у вас права на открытие файла?Попробуйте открыть его.
Как определить, заполнен ли диск?Попробуйте написать в него.
Как определить, занят ли уже порт?Попробуйте привязать к нему.
Как определить, разблокирован ли мьютекс?Попробуйте заблокировать его.
Как определить, принимает ли tcp-сервер подключения?Попробуйте подключиться к нему.
Есть причина для паттерна: во всех этих случаях любой тест заранее будет бессмысленным, потому что результат может меняться между временем тестирования и временем его использованиятеста.Поэтому, если вы хотите что-то сделать, попробуйте и убедитесь, что ваш код правильно обрабатывает как успешные, так и неудачные операции.