test_banana.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env python
  2. """Tests for `banana` package."""
  3. from banana import banana2dec, dec2banana, dec2ribes, ribes2dec
  4. banana_conversions = {
  5. "ba": 0,
  6. "baba": 0,
  7. "be": 1,
  8. "beba": 70,
  9. "zu": 69,
  10. "bezu": 139,
  11. "nana": 2485,
  12. "banana": 2485,
  13. }
  14. ribes_conversions = {
  15. "a": 0,
  16. "aca": 5,
  17. "ada": 10,
  18. "afa": 15,
  19. "aga": 20,
  20. "ala": 25,
  21. "ama": 30,
  22. "ana": 35,
  23. "apa": 40,
  24. "ara": 45,
  25. "asa": 50,
  26. "ata": 55,
  27. "ava": 60,
  28. "aza": 65,
  29. "eba": 70,
  30. "eca": 75,
  31. "eda": 80,
  32. "efa": 85,
  33. "ega": 90,
  34. }
  35. def test_banana_to_dec_known():
  36. for word, value in banana_conversions.items():
  37. assert banana2dec(word) == value
  38. def test_banana2dec_prefix_ba():
  39. """un ba all'inizio non cambia nulla!"""
  40. for word in banana_conversions:
  41. value = banana2dec(word)
  42. for prefix in ("ba", "baba", "bababa"):
  43. assert banana2dec(prefix + word) == value
  44. def test_dec_to_banana_known():
  45. for word, value in banana_conversions.items():
  46. if word.startswith("ba"):
  47. continue
  48. assert dec2banana(value) == word
  49. def test_ribes_to_dec_known():
  50. for word, value in ribes_conversions.items():
  51. assert ribes2dec(word) == value
  52. def test_dec_to_ribes_known():
  53. for word, value in ribes_conversions.items():
  54. assert dec2ribes(value) == word
  55. def test_answer_to_life_the_universe_and_everything():
  56. banana = banana2dec("banana")
  57. assert banana != 42
  58. assert banana == 2485