Considera un indice di testo come un suffisso o un suffisso che supporta le richieste di Conteggio (numero di occorrenze di un modello) e Trova (le posizioni di tutti i occorrenze di un pattern) su un determinato testo. Come andresti sui test unitari di una classe del genere?
Quello che ho in mente è generare una grande stringa casuale, quindi estrarre una sottostringa casuale da questa grande stringa e confrontare i risultati di entrambe le query con le implementazioni ingenue (come string :: find). Un'altra idea che ho è quella di trovare la sottostringa più frequente di lunghezza l
che appare nella stringa originale (usando forse un metodo naive) e usare queste sottostringhe per testare l'indice.
Questo non è il modo migliore, quindi quale sarebbe un buon design dei test unitari per un indice di testo?
Se è importante, questo è in C ++ usando google test.