1
0

test_banana.py 2.0 KB

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