From 48aaedad542b9c6cbdc85d22517cd0d151f38443 Mon Sep 17 00:00:00 2001 From: Mica White Date: Sun, 1 Dec 2024 15:28:44 -0500 Subject: Unit testing --- src/key.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/key.rs') diff --git a/src/key.rs b/src/key.rs index 8d46817..654979d 100644 --- a/src/key.rs +++ b/src/key.rs @@ -83,7 +83,7 @@ impl ThreadKey { } /// A dumb lock that's just a wrapper for an [`AtomicBool`]. -#[derive(Debug, Default)] +#[derive(Default)] struct KeyCell { is_locked: Cell, } @@ -101,3 +101,26 @@ impl KeyCell { self.is_locked.set(false); } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn thread_key_returns_some_on_first_call() { + assert!(ThreadKey::get().is_some()); + } + + #[test] + fn thread_key_returns_none_on_second_call() { + let key = ThreadKey::get(); + assert!(ThreadKey::get().is_none()); + drop(key); + } + + #[test] + fn dropping_thread_key_allows_reobtaining() { + drop(ThreadKey::get()); + assert!(ThreadKey::get().is_some()) + } +} -- cgit v1.2.3