Ho ri-eseguito i test aggiuntivi sullo HW2obb ed aggiornato la classifica.
- come già detto, ho rimesso il timeout a 1.5 secondo com'era originariamente
- per due studenti nasce un INTERNALERROR che impedisce il completamento dei test. Li rifarò in seguito.
- I 3 test aggiuntivi sono tre istanze abbastanza piccole (solo 1000 concorrenti e max 2000 azioni):
def test_segreto_1(self):
'''Istanza con N=1000 concorrenti.
Senza alcun sorpasso i piloti abbandonano uno dopo
l'altro a partire da quello in ultima posizione e resta il primo.
la funzione deve restituire la lista [1]
'''
n=1000
lista2=list(range(1,n+1))
lista1=[f'e{i}' for i in range(n,1,-1)]
return self.do_test(lista1,lista2, [1])
def test_segreto_2(self):
'''Istanza con N=1000 concorrenti. Dopo N-2 abbandoni dal penultimo al secondo, si scambiano N volte l'ultimo e il primo '''
n=1000
lista2=list(range(1,n+1))
lista1=[f'e{i}' for i in range(n-1,1,-1)] + [f's{n}' if i%2 else 's1' for i in range(n)]
return self.do_test(lista1,lista2, [1,n])
@file_data("test_segreto.json") # file finalmente corretto
def test_segreto_3(self, azioni, concorrenti, expected):
'''Istanza con 1008 concorrenti. Dopo 900 abbandoni casuali, si fanno 1000 sorpassi a caso. '''
return self.do_test(azioni, concorrenti, expected)