#!/usr/bin/env python # -*- coding: utf-8 -*- """ Napisz funkcję big_no zwracającej tzw. "Big 'NO!'" (zob. http://tvtropes.org/pmwiki/pmwiki.php/Main/BigNo) dla zadanej liczby tj. napis typu "NOOOOOOOOOOOOO!", gdzie liczba 'O' ma być równa podanemu argumentem, przy czym jeśli argument jest mniejszy niż 5, ma być zwracany napis "It's not a Big 'No!'". """ def big_no(n): def test_special_cases(self): """Testy przypadków szczególnych.""" self.assertEqual(big_no(0), "It's not a Big 'No!'") self.assertEqual(big_no(1), "It's not a Big 'No!'") self.assertEqual(big_no(2), "It's not a Big 'No!'") self.assertEqual(big_no(4), "It's not a Big 'No!'") self.assertEqual(big_no(5), "NOOOOO!") def test_regular_cases(self): """Testy dla zwykłych przypadków""" self.assertEqual(big_no(6), "NOOOOOO!") self.assertEqual(big_no(33), "N" + ("O" * 33) + "!") def tests(f): inputs = [[5], [6], [2]] outputs = ["NOOOOO!", "NOOOOOO!", "It's not a Big 'No!'"] for input, output in zip(inputs, outputs): if f(*input) != output: return "ERROR: {}!={}".format(f(*input), output) break return "TESTS PASSED" if __name__ == "__main__": print(tests(big_no))