Pricing adj
This commit is contained in:
@@ -3346,7 +3346,7 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.every = 'friday'
|
||||
period.nb_quotation = 4
|
||||
period.nb_quotation_after = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 4, 1))
|
||||
|
||||
@@ -3359,27 +3359,27 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
datetime.date(2026, 4, 24),
|
||||
])
|
||||
|
||||
def test_pricing_period_every_negative_returns_weekdays_before_trigger(self):
|
||||
'Every Friday and -4 returns the four Fridays before trigger date'
|
||||
def test_pricing_period_every_before_returns_weekdays_before_trigger(self):
|
||||
'Every Friday with before returns the four Fridays before trigger date'
|
||||
Period = Pool().get('pricing.period')
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.every = 'friday'
|
||||
period.nb_quotation = -4
|
||||
period.nb_quotation_before = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 4, 30))
|
||||
|
||||
self.assertEqual(
|
||||
[date.date() for date in dates],
|
||||
[
|
||||
datetime.date(2026, 4, 24),
|
||||
datetime.date(2026, 4, 17),
|
||||
datetime.date(2026, 4, 10),
|
||||
datetime.date(2026, 4, 3),
|
||||
datetime.date(2026, 4, 10),
|
||||
datetime.date(2026, 4, 17),
|
||||
datetime.date(2026, 4, 24),
|
||||
])
|
||||
|
||||
def test_pricing_period_blank_every_positive_uses_available_dates_after_trigger(self):
|
||||
'Blank Every and positive Nb quotation returns dates after trigger'
|
||||
def test_pricing_period_blank_every_after_uses_available_dates_after_trigger(self):
|
||||
'Blank Every and Nb quotes after returns dates after trigger'
|
||||
Period = Pool().get('pricing.period')
|
||||
calendar = Mock()
|
||||
excluded = {
|
||||
@@ -3391,7 +3391,7 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.every = None
|
||||
period.nb_quotation = 4
|
||||
period.nb_quotation_after = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12), calendar)
|
||||
|
||||
@@ -3405,13 +3405,13 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
])
|
||||
|
||||
def test_pricing_period_blank_every_include_counts_trigger_plus_after_dates(self):
|
||||
'Blank Every with Inc. returns trigger date plus quotations after'
|
||||
'Blank Every with Inc. returns trigger date plus quotes after'
|
||||
Period = Pool().get('pricing.period')
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.include = True
|
||||
period.every = None
|
||||
period.nb_quotation = 4
|
||||
period.nb_quotation_after = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12))
|
||||
|
||||
@@ -3425,13 +3425,13 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
datetime.date(2026, 5, 16),
|
||||
])
|
||||
|
||||
def test_pricing_period_blank_every_negative_uses_available_dates_before_trigger(self):
|
||||
'Blank Every and negative Nb quotation also returns dates before trigger'
|
||||
def test_pricing_period_blank_every_before_uses_available_dates_before_trigger(self):
|
||||
'Blank Every and Nb quotes before returns dates before trigger'
|
||||
Period = Pool().get('pricing.period')
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.every = None
|
||||
period.nb_quotation = -4
|
||||
period.nb_quotation_before = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12))
|
||||
|
||||
@@ -3444,34 +3444,36 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
datetime.date(2026, 5, 11),
|
||||
])
|
||||
|
||||
def test_pricing_period_before_after_returns_symmetric_dates(self):
|
||||
'Before/After returns quotations before and after trigger'
|
||||
def test_pricing_period_blank_every_returns_asymmetric_dates(self):
|
||||
'Blank Every returns independent quotations before and after trigger'
|
||||
Period = Pool().get('pricing.period')
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.include = False
|
||||
period.every = 'before_after'
|
||||
period.nb_quotation = 2
|
||||
period.every = None
|
||||
period.nb_quotation_before = 1
|
||||
period.nb_quotation_after = 3
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12))
|
||||
|
||||
self.assertEqual(
|
||||
[date.date() for date in dates],
|
||||
[
|
||||
datetime.date(2026, 5, 10),
|
||||
datetime.date(2026, 5, 11),
|
||||
datetime.date(2026, 5, 13),
|
||||
datetime.date(2026, 5, 14),
|
||||
datetime.date(2026, 5, 15),
|
||||
])
|
||||
|
||||
def test_pricing_period_before_after_include_adds_trigger_date(self):
|
||||
'Before/After with Inc. adds trigger date between both sides'
|
||||
def test_pricing_period_blank_every_before_and_after_include_adds_trigger_date(self):
|
||||
'Blank Every with Inc. adds trigger date between both sides'
|
||||
Period = Pool().get('pricing.period')
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.include = True
|
||||
period.every = 'before_after'
|
||||
period.nb_quotation = 2
|
||||
period.every = None
|
||||
period.nb_quotation_before = 2
|
||||
period.nb_quotation_after = 2
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12))
|
||||
|
||||
@@ -3485,8 +3487,8 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
datetime.date(2026, 5, 14),
|
||||
])
|
||||
|
||||
def test_pricing_period_before_after_skips_calendar_exclusions(self):
|
||||
'Before/After uses available quotations around trigger date'
|
||||
def test_pricing_period_blank_every_before_and_after_skips_calendar_exclusions(self):
|
||||
'Blank Every uses available quotations around trigger date'
|
||||
Period = Pool().get('pricing.period')
|
||||
calendar = Mock()
|
||||
excluded = {
|
||||
@@ -3498,15 +3500,15 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
period = Period()
|
||||
period.trigger = 'bldate'
|
||||
period.include = True
|
||||
period.every = 'before_after'
|
||||
period.nb_quotation = 2
|
||||
period.every = None
|
||||
period.nb_quotation_before = 1
|
||||
period.nb_quotation_after = 2
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12), calendar)
|
||||
|
||||
self.assertEqual(
|
||||
[date.date() for date in dates],
|
||||
[
|
||||
datetime.date(2026, 5, 9),
|
||||
datetime.date(2026, 5, 10),
|
||||
datetime.date(2026, 5, 12),
|
||||
datetime.date(2026, 5, 14),
|
||||
|
||||
Reference in New Issue
Block a user