#![cfg(feature = "serde")]
use icu_datetime::options::{components, length};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Fixture(pub Vec<Test>);
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Test {
pub description: Option<String>,
pub input: TestInput,
pub output: TestOutput,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TestInput {
pub locale: String,
pub value: String,
pub options: TestOptions,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum TestOptions {
#[serde(rename = "length")]
Length(length::Bag),
#[serde(rename = "components")]
Components(components::Bag),
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TestOutput {
pub value: String,
}