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}
39
40#[derive(Clone, Debug, PartialEq, Eq)]
42pub struct ExampleResult {
43 pub name: String,
44 pub status: Status,
45 pub lines: Vec<usize>,
46 pub failure: Option<ExampleFailure>,
47}
48
49#[derive(Clone, Debug, PartialEq, Eq)]
51pub struct SpecResults {
52 pub version: u32,
53 pub spec_path: String,
54 pub source_hash: String,
55 pub examples: Vec<ExampleResult>,
56}