Non ha senso.
Si suppone che il codice sia scritto in modo ""corretto"" e "IDisposable"" serve solo per assicurarsi che eventuali risorse allocate e non deallocate corretamente vengano COMUNQUE deallocate.
Per fare un esempio: supponi che la classe richieda l'accesso ad un file che dovresti chiude, in IDisposable controlli che il file sia stato effettivamente chiuso altrimenti ne forzi la chiusura.
ALTRIMENTI
dovresti fare TUTTI I possibili controlli NON solo legati a IDisposable, ma ANCHE a tutti i parametri passati ad ogni metodo.
Certi controlli hanno senso (passi il nome di un file che non esiste) ma altri potrebbero essere inutili.
In pratica, devi ""calibrare"" quali test fare con la loro ""utilita' " e l'impatto che avrebbero sull'applicazione.
Altro banale esempio: tu sai che "0/0" non e' definito e la divisione genera un "NaN", TEORICAMENTE PRIMA di ogni divisione dovresti controllare se i numeri da dividere sono diversi da 0.
Se introducci questo test in un algoritmo di calcolo numerico che fa MILIARDI di operazioni,
... ""non te passa piu' """
COMUNQUE, NON ESISTE una regola univoca!
Devi valutare di volta in vola.
Ultimo esempio: SE la tua classe rappresenta un conto corrente, e il metodo una transazione bancaria, dovresti fare TUTTI I TEST POSSIBILI affiche' tutto quello che serve per fare una transazione bancaria corretta SIA ""STRA-CONTROLLATO"".
Non puoi permetterti di prelevare PIU' di quanto richiesto (sara' contento chi preleva ma non tanto da chi e' stato prelevato) NE depositare meno di quanto indicato (sai che divertimento, depositi 10.000 euro e sul tuo conto ne vengono accreditati solo 1000. Che vuoi che sia uno ZERO! Vale ZERO! )...