runmat_test/descriptor/
fixture.rs1use serde::{Deserialize, Serialize};
2
3use crate::identity::{FixtureGroupId, FixtureId};
4
5use super::ProcedureDescriptor;
6
7#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
8pub struct FixtureDescriptor {
9 pub id: FixtureId,
10 pub group_id: FixtureGroupId,
11 pub display_name: String,
12 pub scope: FixtureScope,
13 pub setup: Option<ProcedureDescriptor>,
14 pub teardown: Option<ProcedureDescriptor>,
15 #[serde(default)]
16 pub dependencies: Vec<FixtureId>,
17}
18
19#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
20#[serde(rename_all = "snake_case")]
21pub enum FixtureScope {
22 Run,
23 Suite,
24 Class,
25 Test,
26}