25 lines
889 B
C++
25 lines
889 B
C++
#include "gate_summary.h"
|
|
#include <cassert>
|
|
int main() {
|
|
GateSummary summary;
|
|
assert(summary.severity(true) == 1); // Empty captures are not OK.
|
|
summary.observe(0); summary.observe(1); summary.observe(2);
|
|
assert(summary.severity(false) == 1);
|
|
assert(summary.severity(true) == 0);
|
|
summary.observe(0); // A command without a complete ACK at EOF.
|
|
assert(summary.severity(true) == 1);
|
|
summary.observe(2);
|
|
assert(summary.severity(true) == 0);
|
|
summary.observe(3);
|
|
assert(summary.severity(true) == 1);
|
|
summary.observe(4);
|
|
assert(summary.severity(false) == 2);
|
|
assert(summary.severity(true) == 2);
|
|
summary.observe(2); // Later good events never hide earlier faults.
|
|
assert(summary.severity(true) == 2);
|
|
summary.reset();
|
|
assert(summary.severity(true) == 1);
|
|
summary.observe(5);
|
|
assert(summary.severity(true) == 2);
|
|
}
|