use serde::{Deserialize, Serialize};
use super::WellImage;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct Well {
pub images: Vec<WellImage>,
}
impl From<crate::v0_4::Well> for Well {
fn from(value: crate::v0_4::Well) -> Self {
Self {
images: value.images,
}
}
}
#[cfg(test)]
mod tests {
use crate::v0_5::OmeZarrGroupMetadata;
use super::*;
#[test]
fn well_2fields() {
let json = include_str!(concat!(
env!("CARGO_MANIFEST_DIR"),
"/ome-zarr/specifications/0.5/examples/well_strict/well_2fields.json"
));
let ome_metadata: OmeZarrGroupMetadata = serde_json::from_str(json).unwrap();
let _well: Well = ome_metadata.attributes.ome.well.unwrap();
}
#[test]
fn well_4fields() {
let json = include_str!(concat!(
env!("CARGO_MANIFEST_DIR"),
"/ome-zarr/specifications/0.5/examples/well_strict/well_4fields.json"
));
let ome_metadata: OmeZarrGroupMetadata = serde_json::from_str(json).unwrap();
let _well: Well = ome_metadata.attributes.ome.well.unwrap();
}
}