use super::*;
#[test]
fn the_modernbert_entry_holds_the_published_shape() {
let modernbert: Vec<_> = all()
.into_iter()
.filter(|d| d.family == Family::ModernBert)
.collect();
assert_eq!(
modernbert.len(),
1,
"Alibaba-NLP/gte-modernbert-base, the family's only catalog entry"
);
let d = &modernbert[0];
assert_eq!(d.id, "Alibaba-NLP/gte-modernbert-base");
assert_eq!(d.dim, 768, "{}", d.id);
assert_eq!(d.default_max_length, 8192, "{}", d.id);
assert_eq!(d.pooling, Pooling::Cls, "{}", d.id);
assert!(
d.query_template.is_none() && d.passage_template.is_none(),
"{}",
d.id
);
assert!(d.default_instruction.is_none(), "{}", d.id);
assert!(d.dense_dirs.is_empty(), "{}", d.id);
assert!(!d.mrl, "{}", d.id);
assert!(!d.layer_norm_after_pooling, "{}", d.id);
assert_eq!(d.default_dtype, DType::F32, "{}", d.id);
assert_eq!(d.license, "Apache-2.0", "{}", d.id);
assert_eq!(d.size_gb, 0.30, "{}", d.id);
assert_eq!(d.phase, 2, "{}", d.id);
assert_eq!(
weights_format(&d.id),
WeightsFormat::Safetensors,
"{}",
d.id
);
for dtype in [DType::F32, DType::F16] {
assert!(!dtype_needs_accelerator(&d.id, dtype), "{} {dtype:?}", d.id);
}
assert!(dtype_needs_accelerator(&d.id, DType::BF16), "{}", d.id);
assert_eq!(d.backends.cuda, Support::Verified, "{}", d.id);
assert!(!d.gated, "{}", d.id);
}