Persist trader V4 P0 decision trace
This commit is contained in:
@@ -3,6 +3,8 @@ package com.quantai.trader.evidence;
|
||||
import com.quantai.trader.domain.TraderEvidence;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -10,7 +12,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
class EvidenceAppenderTest {
|
||||
@Test
|
||||
void appendsEvidenceWithStageReasonAndDetails() {
|
||||
EvidenceAppender appender = new EvidenceAppender();
|
||||
RecordingEvidenceRepository repository = new RecordingEvidenceRepository();
|
||||
EvidenceAppender appender = new EvidenceAppender(repository);
|
||||
|
||||
TraderEvidence item = appender.append("run-1", "cycle-1", "PM_DECISION", true,
|
||||
"OPEN_LONG_PM_PASS", null, Map.of("action", "OPEN_LONG"));
|
||||
@@ -18,6 +21,19 @@ class EvidenceAppenderTest {
|
||||
assertThat(item.evidenceId()).isEqualTo("evidence_cycle-1_0");
|
||||
assertThat(item.pass()).isTrue();
|
||||
assertThat(item.detailsJson()).containsEntry("action", "OPEN_LONG");
|
||||
assertThat(appender.all()).containsExactly(item);
|
||||
assertThat(repository.items()).containsExactly(item);
|
||||
}
|
||||
|
||||
private static final class RecordingEvidenceRepository implements TraderEvidenceRepository {
|
||||
private final List<TraderEvidence> items = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void insert(TraderEvidence evidence) {
|
||||
items.add(evidence);
|
||||
}
|
||||
|
||||
List<TraderEvidence> items() {
|
||||
return items;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user