use proptest::{arbitrary::ParamsFor, prelude::*};
use ip::{Any, Ipv4};
use crate::{containers::ListOf, primitive::AfiSafi};
use super::{default, policy};
pub trait AfiSafiList: policy::StmtAfi + default::ExprAfi {
fn any_afis(
params: ParamsFor<Option<ListOf<AfiSafi>>>,
) -> BoxedStrategy<Option<ListOf<AfiSafi>>>;
}
impl AfiSafiList for Ipv4 {
fn any_afis(_: ParamsFor<Option<ListOf<AfiSafi>>>) -> BoxedStrategy<Option<ListOf<AfiSafi>>> {
Just(None).boxed()
}
}
impl AfiSafiList for Any {
fn any_afis(
params: ParamsFor<Option<ListOf<AfiSafi>>>,
) -> BoxedStrategy<Option<ListOf<AfiSafi>>> {
any_with::<Option<ListOf<AfiSafi>>>(params).boxed()
}
}