use std::path::PathBuf;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct Well {
pub version: super::ConstrainedVersion,
pub images: Vec<WellImage>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct WellImage {
pub path: PathBuf,
#[serde(skip_serializing_if = "Option::is_none")]
pub acquisition: Option<u64>,
}
#[cfg(test)]
mod tests {
use crate::v0_4::OmeNgffGroupAttributes;
use super::*;
#[test]
fn well_2fields() {
let json = include_str!(concat!(
env!("CARGO_MANIFEST_DIR"),
"/ome-zarr/specifications/0.4/examples/well_strict/well_2fields.json"
));
let ome_metadata: OmeNgffGroupAttributes = serde_json::from_str(json).unwrap();
let _well: Well = ome_metadata.well.unwrap();
}
#[test]
fn well_4fields() {
let json = include_str!(concat!(
env!("CARGO_MANIFEST_DIR"),
"/ome-zarr/specifications/0.4/examples/well_strict/well_4fields.json"
));
let ome_metadata: OmeNgffGroupAttributes = serde_json::from_str(json).unwrap();
let _well: Well = ome_metadata.well.unwrap();
}
}