test_Rating.py 850 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #
  2. # Copyright (c) Daniel Sheffield 2021 - 2023
  3. #
  4. # All rights reserved
  5. #
  6. # THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY
  7. import numpy as np
  8. from app.activities.Rating import Rating
  9. from pytest import mark, fixture
  10. from urwid import Text
  11. @fixture
  12. def rating() -> Rating:
  13. return Rating({
  14. 'rating': Text(''),
  15. 'spread': Text(''),
  16. 'marker': Text(''),
  17. })
  18. @mark.parametrize('_min',[
  19. 1,
  20. 3,
  21. None,
  22. ])
  23. @mark.parametrize('_avg', [
  24. 2,
  25. None,
  26. ])
  27. @mark.parametrize('_max',[
  28. 3,
  29. None,
  30. ])
  31. @mark.parametrize('price',[
  32. 4,
  33. 11,
  34. 15,
  35. None,
  36. ])
  37. @mark.parametrize('quantity',[
  38. 5,
  39. 0,
  40. None,
  41. ])
  42. @mark.parametrize('unit',[
  43. '',
  44. ])
  45. def test_rating(rating: Rating, _avg, _min, _max, unit, price, quantity):
  46. rating.update_rating(_avg, _min, _max, 'kg', price=price, quantity=quantity)