summaryrefslogtreecommitdiff
path: root/src/main/java/testing/VerificationRule.java
blob: 43d393340ac393bb493fa4d4f5a6026457ce406b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package testing;

import java.util.List;

/**
 * Interface for defining verification rules that can be applied
 * to simulation logs to verify protocol behavior.
 */
public interface VerificationRule {
    /**
     * Verify the rule against the provided logs.
     * 
     * @param logs The complete list of log entries from the simulation
     * @return Result indicating whether the rule passed and details
     */
    RuleResult verify(List<LogEntry> logs);
    
    /**
     * Get a human-readable description of what this rule verifies.
     * 
     * @return Description of the rule
     */
    default String getDescription() {
        return this.getClass().getSimpleName();
    }
}