winnow_datetime_assert 0.3.0

Testing/Benchmarking winnow-datetime parsers
Documentation
use crate::{FormatAssertion, FormatAssertionBuilder, FormatCoverage, FormatCoverageBuilder};
use serde::Deserialize;
use winnow_datetime::FractionalDuration;

#[derive(Debug, serde::Deserialize)]
pub struct FractionalDurationAssertion {
    assertions: Vec<FormatAssertion<FractionalDuration>>,
}

impl FormatAssertionBuilder<FractionalDuration> for FractionalDurationAssertion {
    fn piece() -> &'static str {
        "fractional_duration"
    }

    fn base_assertions(&self) -> Vec<FormatAssertion<FractionalDuration>> {
        self.assertions.clone()
    }

    fn assertions(&self) -> Vec<FormatAssertion<FractionalDuration>> {
        self.base_assertions()
    }
}

#[derive(Clone, Debug, PartialEq, Deserialize)]
pub struct FractionalDurationCoverage {
    pub coverage: Vec<FormatCoverage<FractionalDuration>>,
}

impl FormatCoverageBuilder<FractionalDuration> for FractionalDurationCoverage {
    fn piece() -> &'static str {
        "fractional_duration"
    }

    fn base_coverage(&self) -> Vec<FormatCoverage<FractionalDuration>> {
        self.coverage.clone()
    }

    fn coverage(&self) -> Vec<FormatCoverage<FractionalDuration>> {
        vec![]
    }
}