summaryrefslogtreecommitdiffstats
path: root/rust/tests/test_fcid.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/tests/test_fcid.rs')
-rw-r--r--rust/tests/test_fcid.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/rust/tests/test_fcid.rs b/rust/tests/test_fcid.rs
new file mode 100644
index 00000000..c9f6c00d
--- /dev/null
+++ b/rust/tests/test_fcid.rs
@@ -0,0 +1,20 @@
+extern crate fatcat;
+extern crate uuid;
+
+use fatcat::api_helpers::{fcid2uuid, uuid2fcid};
+use uuid::Uuid;
+
+#[test]
+fn test_fcid_conversions() {
+ let test_uuid = Uuid::parse_str("86daea5b-1b6b-432a-bb67-ea97795f80fe").unwrap();
+ let test_fcid = "q3nouwy3nnbsvo3h5klxsx4a7y";
+
+ assert_eq!(test_fcid, uuid2fcid(&test_uuid));
+ assert_eq!(test_uuid, fcid2uuid(test_fcid).unwrap());
+ assert_eq!(test_uuid, fcid2uuid(&test_fcid.to_uppercase()).unwrap());
+ assert_eq!(test_uuid, fcid2uuid(&uuid2fcid(&test_uuid)).unwrap());
+
+ assert_eq!(false, fcid2uuid("asdf").is_ok());
+ assert_eq!(false, fcid2uuid("q3nouwy3nnbsvo3h5klx").is_ok());
+ assert_eq!(false, fcid2uuid("10Oouwy3nnbsvo3h5klxsx4a7y").is_ok());
+}