journal: dichiarati nello stesso intervallo si sommano, giro corrente, finestra 7gg, DD netto (#27, #35)
#27: due movimenti dichiarati nello stesso intervallo si sommavano al posto di sovrascriversi (l'aggancio "dichiarato+rilevato" ora cerca solo fonte=="rilevato"). #35 C9: salute() non conta piu' il giro dell'ora corrente prima che scatti (minuto :47 + margine, MINUTO_GIRO costante di modulo). #35 C15: la finestra "ultimi 7 giorni" della concentrazione ora copre 7 giorni di calendario, non 8 (baseline = ultima lettura al o prima di giorno-7 fine giornata). #35 C7: il drawdown si calcola sulla serie equity al netto dei movimenti di capitale certi, cosi' un prelievo non si legge come perdita di trading e un versamento non alza il picco. Test nuovi in tests/test_journal_u4.py; tests/test_journal.py aggiornato (l'orologio del test su salute() era reale e non deterministico, ora e' fissato). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,12 +31,16 @@ def db(tmp_path):
|
||||
|
||||
def test_giorno_in_corso_non_e_un_giorno_bucato(db, monkeypatch):
|
||||
"""24 giri attesi su un giorno non finito = allarme a ogni esecuzione, cioe' rumore."""
|
||||
oggi = datetime.now(timezone.utc).date()
|
||||
monkeypatch.setattr(J, "stato_libro", lambda c, g: dict(giri=datetime.now(timezone.utc).hour + 1,
|
||||
feed_skh_min=0))
|
||||
class _OraFissa(datetime): # ora ferma: il test non dipende da quando gira
|
||||
@classmethod
|
||||
def now(cls, tz=None):
|
||||
return datetime(2026, 8, 25, 14, 50, tzinfo=timezone.utc)
|
||||
monkeypatch.setattr(J, "datetime", _OraFissa)
|
||||
oggi = _OraFissa.now(timezone.utc).date()
|
||||
monkeypatch.setattr(J, "stato_libro", lambda c, g: dict(giri=15, feed_skh_min=0))
|
||||
s = J.salute(db, oggi)
|
||||
assert s["giorno_in_corso"] is True
|
||||
assert s["atteso_giri"] == datetime.now(timezone.utc).hour + 1
|
||||
assert s["atteso_giri"] == 15 # ore 14:50, il giro delle 14 (:47) e' scattato
|
||||
assert s["giri_mancanti"] == 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user