Gestisci le impostazioni di fabbrica dei robot.
Quando un robot esce dalla catena di montaggio, non ha un nome.
La prima volta che accendi un robot, viene generato un nome casuale nel formato di due lettere maiuscole seguite da tre cifre, come RX837 o BC811.
Ogni tanto dobbiamo ripristinare un robot alle impostazioni di fabbrica, il che significa che il suo nome viene cancellato. La prossima volta che lo chiedi, quel robot risponderà con un nuovo nome casuale.
I nomi devono essere casuali: non devono seguire una sequenza prevedibile. Usare nomi casuali comporta un rischio di collisioni. La soluzione deve garantire che ogni robot esistente abbia un nome univoco.
È possibile esaurire i nomi dei robot: una volta che ogni possibile nome di robot è stato assegnato, si dovrebbe restituire un errore.
Una volta che go test passa, troverai nella suite di test un test chiamato TestCollisions, che viene saltato per impostazione predefinita perché può richiedere molto tempo.
Questo test crea nuovi robot finché non è più possibile assegnare nuovi nomi al robot.
Per far eseguire il test, rimuovi questa riga:
t.Skip("skipping test as it can take a long time to run if solution is sub-optimal.")
Per far passare questo test dovrai assicurarti che il nome di un robot non sia già stato usato e che i nomi possano essere assegnati in modo efficiente.
Iscriviti a Exercism per imparare e padroneggiare Go con 34 concetti165 esercizi e il mentoring di persone reali, tutto gratis.