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

Do you need help?

Es3 hw2 errore test fallito

G
Gianluca98 (810 points)
3 14 25
in Es3 by (810 points)
closed by
Salve, ho finito il terzo esercizio del secondo homework e ho un problema. In pratica quando faccio il test mi dice :

FAIL: test_from_json_00006_mirror_all_onBorder (__main__.Test)
test_from_json_00006_mirror_all_onBorder
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\circe\Anaconda3\lib\site-packages\ddt.py", line 145, in wrapper
    return func(self, *args, **kwargs)
  File "C:/Users/circe/Desktop/homework02/test_03.py", line 27, in test_from_json
    return self.do_test(filename, expected)
  File "C:/Users/circe/Desktop/homework02/test_03.py", line 21, in do_test
    self.check(result,       expected, None, "il risultato non e' corretto")
  File "C:\Users\circe\Desktop\homework02\testlib.py", line 15, in check
    self.assertEqual(value, expected, msg)
AssertionError: 171 != 0 :
                171 != 0        <- il risultato non e' corretto

======================================================================
FAIL: test_from_json_00010_snake_all_onBorder (__main__.Test)
test_from_json_00010_snake_all_onBorder
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\circe\Anaconda3\lib\site-packages\ddt.py", line 145, in wrapper
    return func(self, *args, **kwargs)
  File "C:/Users/circe/Desktop/homework02/test_03.py", line 27, in test_from_json
    return self.do_test(filename, expected)
  File "C:/Users/circe/Desktop/homework02/test_03.py", line 21, in do_test
    self.check(result,       expected, None, "il risultato non e' corretto")
  File "C:\Users\circe\Desktop\homework02\testlib.py", line 15, in check
    self.assertEqual(value, expected, msg)
AssertionError: 199 != 0 :
                199 != 0        <- il risultato non e' corretto

----------------------------------------------------------------------
Ran 13 tests in 0.210s

FAILED (failures=2)
11 test passed, 2 tests failed

Che cosa vuol dire? Poi perchè mi dice 11 test passati, 2 falliti ed in generale il test è fallito?

Grazie in anticipo.
680 views
closed with the note: deadline passed

4 Answers

jef (4930 points)
1 2 16
by (4.9k points)
Lo dava anche a me, quei due test hanno i punti solo sul perimetro formato dai percorsi dei due robot.  Devi sistemare il codice
G
Gianluca98 (810 points)
3 14 25
by (810 points)
Puoi spiegare meglio plis?
G
Gdn98 (11600 points)
5 35 101
by (11.6k points)
Failed vuol dire che l'output che restituisce il tuo codice é diverso da quello atteso. In generale hai passato 11 test correttamente e due test non vengono superati perché ci sarà qualche caso magari che il tuo codice non considera e di conseguenza hai un output non corretto
_andrea_ (45670 points)
13 42 297
by (45.7k points)
G
Gianluca98 (810 points)
3 14 25
by (810 points)
No a me con gli 0 funziona a dovere. I test falliti dicono che sono sugli elementi lungo il bordo, ma facendo prove su prove su carta funziona anche così. Non riesco proprio a capire
_andrea_ (45670 points)
13 42 297
by (45.7k points)
Io ho avuto il tuo problema perché avendo uno 0 come mossa (con i test vecchi non l'avevo calcolato perché non c'era) andava a sovrascrivere un dato del percorso nel robot che si muoveva di 0 caselle e questo provocava un errore nel salvataggio dei percorsi. Così quando controllavo le coordinate, alcune me le prendeva dentro il percorso anche se stavano sul bordo. Ti dico questo solo perché hai lo stesso mio problema, sugli stessi due test, quindi probabilmente è quello. O comunque è qualcosa cje riguarda il modo in cui salvi il percorso in quei determinati test
G
Gianluca98 (810 points)
3 14 25
by (810 points)
Si ma ho messo la condizione che se l'elemento è 0 allora non lo aggiunge proprio in p1 o p2
_andrea_ (45670 points)
13 42 297
by (45.7k points)
Io ho risolto printando tutti gli step nella creazione dei dizionari e printando i risultati del controllo per ogni coordinata. Così mi sono accorto che alcuni punti dei percorsi erano più alti o bassi di quanto avrebbero dovuto, e ho corretto
andrea.sterbini (207940 points)
754 1269 2377
by (208k points)
Vuol dire che in quei due test avresti dovuto tornare 0 ma invece hai tornato 171 e 199
G
Gianluca98 (810 points)
3 14 25
by (810 points)
Prof ma se consegno così il voto per questo codice sarebbe 0 perché Failed oppure 25,3(cioè il voto di 11 test passati su 13)?
_andrea_ (45670 points)
13 42 297
by (45.7k points)
Sarebbe il voto di quelli che superi rispetto al totale