[C] Visual studio e liste
Buonasera, ogni volta che scrivo una funzione che riguarda una lista non so come scrivere il $text(main())$ in visual studio per controllarla e verificare che sia corretta.
Ad esempio, se voglio scrivere una funzione che mi crea una nuova lista con i valori ordinati in ordine crescente, come lo scrivo in codice il $text(main())$? Sicuramente devo dichiarare un puntatore alla lista $text(struct list *lista;)$ e poi?
Grazie
Ad esempio, se voglio scrivere una funzione che mi crea una nuova lista con i valori ordinati in ordine crescente, come lo scrivo in codice il $text(main())$? Sicuramente devo dichiarare un puntatore alla lista $text(struct list *lista;)$ e poi?
Grazie
Risposte
Non esiste un'unica risposta alla tua domanda. Ci sono tantissime cose che puoi testare della tua funzione e quindi numerosi test possibili. In generale ti consiglio di scrivere i tuoi test come semplici funzioni che restituiscono un valore booleano (o intero) a seconda che il test sia positivo o negativo. Puoi quindi richiamare questa funzione nel tuo main e verificarne il risultato. Alcuni esempi di test che puoi fare per la tua funzione sono:
1. Inserire un singolo elemento in una lista vuota e verificare che ci sia un singolo elemento uguale a quello dato.
2. Inserire un elemento in una lista ordinata e verificare che sia finito nella posizione corretta.
3. Generare una lista di numeri casuali e verificare che siano ordinati.
4. Generare una lista di numeri casuali e verificare che gli elementi inseriti siano effettivamente quelli in input.
5. Inserire un certo numero di valori e verificare che la lista abbia la lunghezza desiderata
6. ..
Un esempio di un main di questo tipo potrebbe essere il seguente:
1. Inserire un singolo elemento in una lista vuota e verificare che ci sia un singolo elemento uguale a quello dato.
2. Inserire un elemento in una lista ordinata e verificare che sia finito nella posizione corretta.
3. Generare una lista di numeri casuali e verificare che siano ordinati.
4. Generare una lista di numeri casuali e verificare che gli elementi inseriti siano effettivamente quelli in input.
5. Inserire un certo numero di valori e verificare che la lista abbia la lunghezza desiderata
6. ..
Un esempio di un main di questo tipo potrebbe essere il seguente:
struct TestInfo { const char *name; int (*test_func)(); }; struct TestInfo tests[] = { { "Inserimento in lista vuota", test_lista_vuota}, { "Inserimento valori casuali", test_inserimento_casuali} }; int test_number = sizeof(tests)/sizeof(tests[0]); int main() { int failed = 0; for (int i = 0; i < test_number; ++i) { if (!tests[i].test_func()) { printf("FAILED TEST: %s.\n", tests[i].name); ++failed; } } if (!failed) { puts("All tests has succeded"); } return 0; }