#[allow(dead_code)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum Collation {
Binary,
NoCase,
Rtrim,
Utf8Binary,
Utf8GeneralCi,
}
#[allow(dead_code)]
pub trait StringBehavior {
fn default_string_comparison_case_sensitive(&self) -> bool;
fn default_collation(&self) -> Collation;
fn supported_collations(&self) -> &[Collation];
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_collation_equality() {
assert_eq!(Collation::Binary, Collation::Binary);
assert_ne!(Collation::Binary, Collation::NoCase);
}
#[test]
fn test_collation_debug() {
let collation = Collation::Utf8GeneralCi;
let debug_str = format!("{:?}", collation);
assert!(debug_str.contains("Utf8GeneralCi"));
}
}