feat(generator): добавлена судьба заказов

- Зачем:
  - issue #91 требует решать исход и расхождение заказа в день его рождения.
- Что:
  - добавлены три исхода, моменты оплаты и отмены и дельта одной позиции.
  - обновлены проверки повторяемости и архитектурное описание заказов.
- Проверка:
  - cd generator && make lint && make typecheck && make test (418 passed).
This commit is contained in:
2026-08-18 16:02:12 +03:00
parent 62941d2ee5
commit 0d90bd566b
6 changed files with 264 additions and 36 deletions
+8
View File
@@ -65,6 +65,9 @@ def orders(events: day.Day) -> list[list[Any]]:
int(theirs.discount[number]),
int(theirs.delivery[number]),
int(theirs.total[number]),
int(theirs.outcome[number]),
int(theirs.paid_after[number]),
int(theirs.cancelled_after[number]),
]
for number in range(len(theirs))
]
@@ -128,6 +131,11 @@ def test_the_snapshot_notices_everything_the_day_hands_out(weekday: day.Day):
original
)
moment = weekday.orders.paid_after.copy()
moment[np.flatnonzero(moment >= 0)[0]] += 1
fated = replace(weekday.orders, paid_after=moment)
assert snapshot(replace(weekday, orders=fated)) != original
def test_a_day_is_a_pure_function_of_the_seed_and_the_day():
first = snapshot(day.stream(CANONICAL_SEED, 3))