Sto scrivendo del codice per una simulazione scientifica e mi piacerebbe davvero usarlo come un'opportunità per fare pratica con alcuni test unitari. Capisco l'idea dei test in teoria, ma non riesco proprio a vedere come applicarlo al mio problema per dimostrare che un risultato matematico viene fuori correttamente.
Ad esempio, una grande parte del mio algoritmo consiste nel fare una convoluzione numerica per spostare e alterare un segnale; poiché ho solo campioni discreti di un tale segnale, ho bisogno di ricorrere a una procedura di interpolazione prima di fare qualsiasi pezzo della convoluzione. Convincere me stesso le opere di interpolazione è abbastanza facile graficamente (tracciare analiticamente una funzione conosciuta e tracciare l'interpolazione sopra di essa), ma molto molto difficile numericamente (dipende già frequenza di campionamento e ordine di interpolazione --- entrambi possono dare variazioni significative nell'errore dell'interpolazione).
Naturalmente posso solo dire "per questo segnale, frequenza di campionamento e ordine di interpolazione le cose concordano con una precisione di epsilon", ma sembra che una porzione così piccola dello spazio di test non valga la pena di essere eseguita. Quali sono alcune tecniche che posso usare per convincermi che cose come l'interpolazione (o inversioni di matrice, o integrazioni numeriche, o ...) funzionano un po 'più in generale?