use domain::entities::{AssetMetadata, MetadataSource}; use domain::value_objects::{MetadataValue, StructuredData, SystemId}; #[test] fn metadata_source_ordering() { assert!(MetadataSource::ExifExtracted < MetadataSource::AiGenerated); assert!(MetadataSource::AiGenerated < MetadataSource::UserEdited); } #[test] fn create_metadata_layer() { let mut data = StructuredData::new(); data.insert("camera", MetadataValue::String("Canon".to_string())); let meta = AssetMetadata::new(SystemId::new(), MetadataSource::ExifExtracted, data); assert_eq!(meta.metadata_source, MetadataSource::ExifExtracted); assert_eq!(meta.data.get_string("camera"), Some("Canon")); }