def do_test(self, filename, expected): '''Implementazione del test - ftesto: il file in cui reperire la matrice e la lista delle parole - expected: la lista attesa ''' expected = [ x if x==-1 else tuple(x) for x in expected ] if DEBUG: import program01 as program result = program.es1(filename) else: # prima controlliamo che l'implementazione sia ricorsiva try: import program01 as program isrecursive.decorate_module(program) program.es1(filename) except isrecursive.RecursionDetectedError: pass else: raise Exception("Recursion not present") finally: isrecursive.undecorate_module(program) del program with self.ignored_function('builtins.print'), \ self.ignored_function('pprint.pprint'), \ self.forbidden_function('builtins.input'), \ self.check_open({filename : ['r']}), \ self.check_imports( allowed=['program01','encodings.utf_8','encodings.utf_8_sig']), \ self.timeout(1), \ self.timer(1): import program01 as program result = program.es1(filename) self.assertIsInstance(result, list, "il risultato prodotto non e' una lista") self.assertEqual(result, expected, "la lista restituita non e' corretta")
def do_test(self, fimm,k, expected): '''Implementazione del test - fimm: il file in cui reperire l'immagine con la griglia - k: il lato del quadrati da contare - expected: la risposta attesa ''' if DEBUG: result = program.es1(fimm, k) else: with self.ignored_function('builtins.print'), \ self.ignored_function('pprint.pprint'), \ self.forbidden_function('builtins.input'), \ self.timeout(1), \ self.timer(1): result = program.es1(fimm,k) self.assertEqual(type(result), int, "il risultato prodotto non e' un intero") self.assertEqual(result, expected, "l'intero restituito non e' corretto")
def do_test(self, voti, expected): '''Implementazione del test - voti: lista di voti - expected: lista risultante attesa ''' voti_bis = copy.deepcopy(voti) result = program.es1(voti_bis) self.check(type(result), list, None, "il risultato non e' una lista") self.check(result, expected, None, "il risultato non e' corretto") self.check(voti_bis, voti, None, "la lista dei voti non va modificata") return 1
def do_test(self, lista, expected): '''Implementazione del test - fimm: il file in cui reperire le stringhe - expected: la risposta attesa TIMEOUT: 1.5 secondi per ciascun test ''' if DEBUG: result = program.es1(lista) else: with self.ignored_function('builtins.print'), \ self.ignored_function('pprint.pprint'), \ self.forbidden_function('builtins.input'), \ self.timeout(1.5), \ self.timer(1.5): result = program.es1(lista) self.assertEqual(type(result), int, "il risultato prodotto deve essere un intero") self.assertEqual(result, expected, "il valore restituito non e' corretto") return 1
def do_test(self, fimm, expected): '''Implementazione del test - fimm: il file in cui reperire le stringhe - expected: la risposta attesa TIMEOUT: 1 secondo per ciascun test ''' with self.ignored_function('builtins.print'), \ self.ignored_function('pprint.pprint'), \ self.forbidden_function('builtins.input'), \ self.timeout(1), \ self.timer(1): result = program.es1(fimm,) self.assertEqual(type(result), list, "il risultato prodotto deve essere una lista") self.assertEqual(result, expected, "la lista restituita non e' corretta") return 1