use cfgmatic_source::prelude::*;
#[test]
fn test_source_metadata_optional() {
let metadata = SourceMetadata::new("test").with_optional(true);
assert!(metadata.optional);
}
#[test]
fn test_source_kind_as_str() {
assert_eq!(SourceKind::File.as_str(), "file");
assert_eq!(SourceKind::Env.as_str(), "env");
assert_eq!(SourceKind::Memory.as_str(), "memory");
assert_eq!(SourceKind::Remote.as_str(), "remote");
}
#[test]
fn test_source_kind_display() {
assert_eq!(format!("{}", SourceKind::File), "file");
assert_eq!(format!("{}", SourceKind::Env), "env");
}
#[test]
fn test_source_metadata_display_id() {
let metadata = SourceMetadata::new("test").with_path("/config.toml");
assert_eq!(metadata.display_id(), "test:/config.toml");
let metadata = SourceMetadata::new("test").with_url("https://example.com/config");
assert_eq!(metadata.display_id(), "test:https://example.com/config");
}