1use std::str::FromStr;
2
3use tinyid::TinyId;
4
5fn main() {
6 let rand_id = TinyId::random();
8
9 let maybe = TinyId::from_str("AAAABBBB");
11 assert!(maybe.is_ok());
12 let bad = TinyId::from_str("AAAABBB");
13 assert!(bad.is_err());
14
15 let parsed = TinyId::from_str_unchecked("AAAABBBB");
17
18 assert_eq!(maybe.unwrap(), parsed);
21
22 println!("Random ID: {rand_id}");
24 println!("Parsed ID: {parsed}");
25 println!(" Debug ID: {parsed:?}");
26
27 println!("TinyID Size: {}", std::mem::size_of::<TinyId>());
29
30 let parsed2 = TinyId::from_str_unchecked("aaaaBBBB");
32 assert_ne!(parsed, parsed2);
33
34 assert!(parsed.starts_with("AAAA"));
38 assert!(parsed.ends_with("BBBB"));
39 assert!(!parsed.starts_with("BBBB"));
40
41 let mut switched = parsed;
43 assert_eq!(switched, parsed);
44
45 assert!(switched.is_valid());
47 assert!(!switched.is_null());
48 assert_ne!(switched, TinyId::null());
49 switched.make_null();
51 assert!(!switched.is_valid());
52 assert!(switched.is_null());
53 assert_eq!(switched, TinyId::null());
54}