3 releases
0.1.2 | Sep 17, 2022 |
---|---|
0.1.1 | Sep 16, 2022 |
0.1.0 | Sep 16, 2022 |
#1536 in Development tools
13KB
333 lines
Eg: Default
for dummy data.
Why Eg?
Use Eg
to provide example values:
use eg::Eg;
#[derive(Debug, PartialEq, Eg)]
struct Wizard {
#[eg = "Harry Potter"]
name: String,
#[eg = "11"]
age: usize,
#[eg = "totally_random_spell"]
fav_spell: Spell,
}
#[derive(Debug, PartialEq)]
enum Spell {
Expelliarmus,
WinguardiumLeviosa,
}
fn totally_random_spell() -> Spell {
Spell::Expelliarmus
}
assert_eq!(
Wizard {
name: "Harry Potter".to_string(),
age: 11,
fav_spell: Spell::Expelliarmus
},
Wizard::eg()
);
When Default
doesn't make sense, isn't available, or isn't expressive enough:
#[test]
fn my_database_test() {
// database stuff ...
db.insert(Wizard::eg());
// more database stuff ...
}
Why not a global const
?
In const
-compatible contexts, this is probably an acceptable approach!
For everything else, there's Eg
😉
Contribution
This crate is still learning to walk; feedback, issues and PRs are all welcome! (◕‿◕)
Dependencies
~1.5MB
~37K SLoC