yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
replay_output.h
Go to the documentation of this file.
1#ifndef YAZE_CLI_HANDLERS_AGENT_REPLAY_OUTPUT_H_
2#define YAZE_CLI_HANDLERS_AGENT_REPLAY_OUTPUT_H_
3
4#include <cstddef>
5#include <ostream>
6
8
9namespace yaze::cli::agent {
10
11// Keep diagnostics on both outcomes: a failed replay is the case that needs
12// its numbered assertions and terminal action messages most.
13inline void PrintReplayResult(const ReplayTestResult& result,
14 std::ostream& output) {
15 if (result.success) {
16 output << "✅ Replay succeeded\n";
17 } else {
18 output << "❌ Replay failed: " << result.message << "\n";
19 }
20 output << "Steps executed: " << result.steps_executed << "\n";
21 if (!result.replay_session_id.empty()) {
22 output << "Replay session: " << result.replay_session_id << "\n";
23 }
24 if (!result.assertions.empty()) {
25 output << "Assertions:\n";
26 for (std::size_t i = 0; i < result.assertions.size(); ++i) {
27 const auto& assertion = result.assertions[i];
28 output << " " << (i + 1) << ". " << (assertion.passed ? "✓" : "✗") << " "
29 << assertion.description << "\n";
30 if (!assertion.expected_value.empty() ||
31 !assertion.actual_value.empty()) {
32 output << " Expected: " << assertion.expected_value << "\n";
33 output << " Actual: " << assertion.actual_value << "\n";
34 }
35 if (!assertion.error_message.empty()) {
36 output << " Error: " << assertion.error_message << "\n";
37 }
38 }
39 }
40 if (!result.logs.empty()) {
41 output << "Logs:\n";
42 for (const auto& log : result.logs) {
43 output << " " << log << "\n";
44 }
45 }
46}
47
48} // namespace yaze::cli::agent
49
50#endif // YAZE_CLI_HANDLERS_AGENT_REPLAY_OUTPUT_H_
void PrintReplayResult(const ReplayTestResult &result, std::ostream &output)
std::vector< AssertionOutcome > assertions
std::vector< std::string > logs