Skip to main content

use_rustacean/
lib.rs

1#![doc = include_str!("../README.md")]
2
3//! Thin facade crate for RustUse Fellow Friends fixture data.
4
5/// Core model crate re-export.
6pub use use_friend as friend;
7/// Deterministic fixture crate re-export.
8pub use use_friend_fixture as fixture;
9/// Markdown rendering crate re-export.
10pub use use_friend_markdown as markdown;
11/// Registry helper crate re-export.
12pub use use_friend_registry as registry;
13
14#[cfg(feature = "serde")]
15pub use use_friend::FriendRecord;
16pub use use_friend::{FigureKind, Friend, IdentityKind, TechnologyKind};
17pub use use_friend_fixture::FriendFixtures;
18pub use use_friend_markdown::FriendMarkdown;
19pub use use_friend_registry::FriendRegistry;
20
21pub mod prelude;
22
23#[cfg(test)]
24mod tests {
25    use super::prelude::*;
26
27    #[test]
28    fn prelude_supports_expected_usage() {
29        let friends = FriendFixtures::small();
30        let registry = FriendRegistry::new(friends);
31        let rust_friends = registry.by_ecosystem("Rust");
32
33        assert!(!rust_friends.is_empty());
34        assert_eq!(rust_friends[0].slug(), "rust-ferris");
35    }
36
37    #[test]
38    fn facade_exposes_markdown_renderer() {
39        let card = FriendMarkdown::card(&FriendFixtures::tiny()[0]);
40
41        assert!(card.contains("### Ferris"));
42    }
43}