1memory = []
2
3def memnick(*func):
4 if len(func) == 0:
5
6 def decorator(f):
7 def wrapper(*args, **kwargs):
8 result = f(*args, **kwargs)
9 memory.append((f.__name__, result))
10 return result
11 wrapper.__name__=f.__name__
12 return wrapper
13
14 return decorator
15
16 else:
17 res = []
18 targets = {f.__name__.replace("_", " ") for f in func}
19 for speaker, phrase in memory:
20 address = phrase.split(",", 1)[0].lower()
21 if address in targets:
22 speaker_name = " ".join(w.capitalize() for w in speaker.split("_"))
23 res.append(f"С гласа на {speaker_name}: {phrase}")
24 return res
.FF..
======================================================================
FAIL: test_memnick_does_not_memorize_repetitions (test.TestMemnick.test_memnick_does_not_memorize_repetitions)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 76, in test_memnick_does_not_memorize_repetitions
self.assertEqual(
~~~~~~~~~~~~~~~~^
["С гласа на Бай Венци: Емил, айде да играем шах!"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
solution.memnick(емил),
^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: ['С г[40 chars]шах!'] != ['С г[40 chars]шах!', 'С гласа на Бай Венци: Емил, айде да иг[210 chars]ах!']
Second list contains 5 additional elements.
First extra element 1:
'С гласа на Бай Венци: Емил, айде да играем шах!'
- ['С гласа на Бай Венци: Емил, айде да играем шах!']
? ^
+ ['С гласа на Бай Венци: Емил, айде да играем шах!',
? ^
+ 'С гласа на Бай Венци: Емил, айде да играем шах!',
+ 'С гласа на Бай Венци: Емил, айде да играем шах!',
+ 'С гласа на Бай Венци: Емил, айде да играем шах!',
+ 'С гласа на Бай Венци: Емил, айде да играем шах!',
+ 'С гласа на Бай Венци: Емил, айде да играем шах!']
======================================================================
FAIL: test_memnick_memorizes (test.TestMemnick.test_memnick_memorizes)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 51, in test_memnick_memorizes
self.assertEqual(
~~~~~~~~~~~~~~~~^
[
^
...<5 lines>...
solution.memnick(божана, емил),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: ['С гласа на Лазар: Божана, може би ще те любя.', 'С г[166 chars]ах!'] != ['С гласа на Бай Венци: Емил, айде да играем шах!', 'С[166 chars]бя.']
First differing element 0:
'С гласа на Лазар: Божана, може би ще те любя.'
'С гласа на Бай Венци: Емил, айде да играем шах!'
+ ['С гласа на Бай Венци: Емил, айде да играем шах!',
- ['С гласа на Лазар: Божана, може би ще те любя.',
? ^
+ 'С гласа на Лазар: Божана, може би ще те любя.',
? ^
'С гласа на Митака: Божана, на този етап не съм сигурен дали искам да те '
'любя.',
- 'С гласа на Почекаин: Божана, ще те любя.',
? ^
+ 'С гласа на Почекаин: Божана, ще те любя.']
? ^
- 'С гласа на Бай Венци: Емил, айде да играем шах!']
----------------------------------------------------------------------
Ran 5 tests in 0.003s
FAILED (failures=2)
15.03.2026 14:23
15.03.2026 14:23