In questo articolo vediamo come implementare la moltiplicazione tra matrici utilizzando l'overload dell'operatore * in C#, in modo da mettere a disposizione una sintassi simile a quella disponibile in Matlab. Cenni matematici La moltiplicazione tra matrici si chiama anche moltiplicazione…
Implementare una suite di test (automatici e manuali) che copra il sistema che si sta sviluppando a vari livelli (unità, integrazione, sistema) e secondo vari criteri (copertura di casi d'uso, partizioni equivalenti, ecc.) è senz'altro un passo fondamentale per poter…
Una delle caratteristiche di un buon test di unità è che esso possa fallire per un singolo motivo. Ad esempio, un test riguardante un metodo di serializzazione di un oggetto di tipo User che verifichi sia che la mail sia…
Talvolta capita che sia molto complicato verificare automaticamente (i.e. con delle asserzioni) la correttezza dell'output di un SUT (System Under Test). Specialmente se ci si attiene alla buona pratica di effettuare una singola asserzione per ciascun test. Esempi tipici di…
Quand'ero giovane e ingenuo e dovevo testare del codice che faceva uso di liste (in senso lato: liste, array, set, stringhe di elementi separati da un certo carattere, ecc.), spesso consideravo solo i casi di liste nulle o con 0,…
Implementare una suite di test per un software è un'attività costosa. E' dunque naturale voler valutare se i test implementati valgano lo sforzo profuso, ovvero se siano efficaci nel rilevare bug e prevenire regressioni. Premesse Di seguito si cercherà di…
Un'operazione si dice idempotente quando ritorna sempre lo stesso risultato anche eseguendola più volte con gli stessi input. Ad esempio, un'operazione di cancellazione di un dato potrebbe essere resa idempotente restituendo "OK" sia se è stato cancellato il dato, sia…
Panoramica sulla dependency injection La dependency injection consiste nell'"iniettare" le dipendenze di un componente (classe, funzione o altro) anziché crearle al suo interno. Concretamente, si tratta di passare le dipendenze come parametri del costruttore della classe o del metodo/funzione che…
Panoramica sul pattern singleton Un singleton è una classe per la quale viene garantita l'esistenza di un'unica istanza. E' utile ad esempio per rappresentare configurazioni globali o in generale strutture dati che si vuole garantire che restino "allineate" in tutta…
Disclaimer Mi è capitato di notare il seguente comportamento su un progetto Web Api (si noti che l'AuthorizationFilter per le web api è diverso da quello per i controller MVC) .NET Framework 4.8. Non ho ancora verificato se lo stesso…
Author Info
- Name:
- Display:dvisentin
- Email:info@dvisentin.com
- Website:https://www.dvisentin.com
- Total Post: 13