test_comparison.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. # -*- coding: utf-8 -*-
  2. import pytest
  3. import datetime
  4. import dingguo
  5. import yaml
  6. import os
  7. def get_item_a():
  8. return dingguo.Item(
  9. name = u'item',
  10. price_brutto = dingguo.Sum(1.0, u'EUR'),
  11. )
  12. def get_item_b():
  13. return dingguo.Item(
  14. name = u'item',
  15. price_brutto = dingguo.Sum(2.0, u'EUR'),
  16. )
  17. def get_discount_a():
  18. return dingguo.Discount(
  19. name = u'discount',
  20. amount = dingguo.Sum(1.0, u'EUR'),
  21. )
  22. def get_discount_b():
  23. return dingguo.Discount(
  24. name = u'discount',
  25. amount = dingguo.Sum(2.0, u'EUR'),
  26. )
  27. def get_order_a():
  28. order = dingguo.Order(
  29. platform = u'platform',
  30. order_id = u'id',
  31. order_date = datetime.datetime(2016, 5, 8, 0, 18, 17),
  32. customer_id = u'customer',
  33. )
  34. order.items.append(get_item_a())
  35. order.items.append(get_item_b())
  36. order.discounts.append(get_discount_a())
  37. order.discounts.append(get_discount_b())
  38. return order
  39. def get_order_b():
  40. order = dingguo.Order(
  41. platform = u'platform',
  42. order_id = u'id',
  43. order_date = datetime.datetime(2016, 5, 8, 0, 18, 17),
  44. )
  45. order.items.append(get_item_a())
  46. order.items.append(get_item_b())
  47. order.discounts.append(get_discount_a())
  48. order.discounts.append(get_discount_b())
  49. return order
  50. def get_order_c():
  51. order = dingguo.Order(
  52. platform = u'platform',
  53. order_id = u'id',
  54. order_date = datetime.datetime(2016, 5, 8, 0, 18, 17),
  55. )
  56. order.items.append(get_item_a())
  57. order.items.append(get_item_b())
  58. order.items.append(get_item_b())
  59. order.discounts.append(get_discount_a())
  60. order.discounts.append(get_discount_b())
  61. return order
  62. def test_figure_eq():
  63. assert dingguo.Figure(1, u'mm') == dingguo.Figure(1, u'mm')
  64. def test_figure_eq_inverted():
  65. assert not dingguo.Figure(1, u'mm') == dingguo.Figure(2, u'mm')
  66. def test_figure_ne():
  67. assert dingguo.Figure(1, u'mm') != dingguo.Figure(2, u'mm')
  68. def test_figure_ne_inverted():
  69. assert not dingguo.Figure(1, u'mm') != dingguo.Figure(1, u'mm')
  70. def test_item_eq():
  71. assert get_item_a() == get_item_a()
  72. assert get_item_b() == get_item_b()
  73. def test_item_eq_inverted():
  74. assert not get_item_a() == get_item_b()
  75. def test_item_ne():
  76. assert get_item_a() != get_item_b()
  77. def test_item_ne_inverted():
  78. assert not get_item_a() != get_item_a()
  79. assert not get_item_b() != get_item_b()
  80. def test_discount_eq():
  81. assert get_discount_a() == get_discount_a()
  82. assert get_discount_b() == get_discount_b()
  83. def test_discount_eq_inverted():
  84. assert not get_discount_a() == get_discount_b()
  85. def test_discount_ne():
  86. assert get_discount_a() != get_discount_b()
  87. def test_discount_ne_inverted():
  88. assert not get_discount_a() != get_discount_a()
  89. assert not get_discount_b() != get_discount_b()
  90. def test_order_eq():
  91. assert get_order_a() == get_order_a()
  92. assert get_order_b() == get_order_b()
  93. assert get_order_c() == get_order_c()
  94. def test_order_eq_inverted():
  95. assert not get_order_a() == get_order_c()
  96. assert not get_order_b() == get_order_a()
  97. assert not get_order_c() == get_order_b()
  98. def test_order_neq():
  99. assert get_order_a() != get_order_c()
  100. assert get_order_b() != get_order_a()
  101. assert get_order_c() != get_order_b()
  102. def test_order_neq_inverted():
  103. assert not get_order_a() != get_order_a()
  104. assert not get_order_b() != get_order_b()
  105. assert not get_order_c() != get_order_c()