1#[derive(Clone, Debug, PartialEq, Eq)]
7pub struct CellFailure {
8 pub from: usize,
9 pub to: usize,
10 pub actual: String,
11}
12
13impl CellFailure {
14 pub fn new(from: usize, to: usize, actual: impl Into<String>) -> CellFailure {
15 CellFailure {
16 from,
17 to,
18 actual: actual.into(),
19 }
20 }
21}
22
23#[derive(Clone, Copy, Debug, PartialEq, Eq)]
25pub enum Status {
26 Passed,
27 Failed,
28}
29
30#[derive(Clone, Debug, PartialEq, Eq)]
33pub struct ExampleFailure {
34 pub line: i64,
35 pub message: String,
36 pub stack: String,
37 pub cells: Option<Vec<CellFailure>>,
38 pub doc: Option<CellFailure>,
39}
40
41#[derive(Clone, Debug, PartialEq, Eq)]
43pub struct ExampleResult {
44 pub name: String,
45 pub status: Status,
46 pub lines: Vec<usize>,
47 pub failure: Option<ExampleFailure>,
48}
49
50#[derive(Clone, Debug, PartialEq, Eq)]
52pub struct SpecResults {
53 pub version: u32,
54 pub spec_path: String,
55 pub source_hash: String,
56 pub examples: Vec<ExampleResult>,
57}