use std::path::Path;

pub struct ZarrDataset;

/// Writes zarr.
pub fn write_zarr(_dataset: &ZarrDataset, _path: &Path) -> std::io::Result<()> {
    Ok(())
}

/// Attaches provenance to zarr.
pub fn attach_provenance_to_zarr(
    _path: &Path,
    _manifest_hash: &crate::utils::Hash,
) -> std::io::Result<()> {
    Ok(())
}

#[cfg(test)]
mod tests {
    use super::*;

    /// Tests that write zarr returns ok.
    #[test]
    fn write_zarr_returns_ok() {
        let dataset = ZarrDataset;
        let path = Path::new("/tmp/fake.zarr");
        assert!(write_zarr(&dataset, path).is_ok());
    }

    /// Tests that attach provenance to zarr returns ok.
    #[test]
    fn attach_provenance_to_zarr_returns_ok() {
        let path = Path::new("/tmp/fake.zarr");
        let hash = crate::utils::Hash([0u8; 32]);
        assert!(attach_provenance_to_zarr(path, &hash).is_ok());
    }
}
