Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Immagini uguali ma diverse per i test

L
Lorespo (610 points)
0 14 17
in Es3 by (610 points)
recategorized by
Quando vado a fare i test ottengo l'errore images differ, starting at coordinates 36,3 (colors: (0, 0, 0) != (255, 255, 255)) , ma quando vado a generare l'immagine per conto mio il pixel 36,3 è bianco. Inoltre confrontando l'immagine ottenuta dalla funzione es3 con i png dei risultati sono identici

Edit: mi correggo: quando salvo manualmente l'immagine è uguale alla risposta del test ma quelle generate da test3.py posizionano i figli fuori dall'imagine (ho messo dei blocchi try except per evitare che vada fuori range); succede su tutti i test tranne il primo
469 views

2 Answers

K
Khalester (3310 points)
2 5 24
by (3.3k points)
edited by

Anche a me capita un errore simile, se non identico: nel test 8, se runno il tester mi crea un immagine diversa da quella aspettata, mentre se la creo mettendo un nome a scelta, crea quella esatta.

'''a = immagini.load("es3_test8.png")

b = immagini.load("es3_risTest8.png")

p = es3("dirs","mio_risultato.png")

c = immagini.load("mio_risultato.png")

b == a
Out[295]: False

b == c
Out[296]: True'''

*insert "room guardian" here*

EDIT: che poi col vecchio zip fallivo il primo e l'ultimo test, con quello nuovo solo l'ultimo test ("dirs")

EDIT Pt2: pensavo fosse un errore dello zip così ho uploaddato, ma nulla, anche sulla WM lo stesso errore. HELP!

HO TROVATO LA SOLUZIONE!

Molto probabilmente usi delle variabili nella classe Nodo ma variabili generali della classe Nodo, ovvero delle variabili fuori dall'init. Praticamente quello che succede è che la classe Nodo e tutte le sue variabili, permangono anche nei test successivi, quindi per fixare, la classe Nodo si dovrebbe resettare a ogni test!

andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Infatti hai usato degli attributi di classe che vengono condivisi tra tutte le istanze.
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Controlla se hai usato parametri di default inizializzati con un oggetto mutabile (dizionario/set/lista)
Viene condiviso tra tutte le chiamate generando errori difficilmente individuabili

(spiegherebbe perchè il primo test passa e i seguenti no)