#![cfg(all(feature = "macros", feature = "default-words"))]
use petname::Petnames;
#[test]
fn dir_only() {
let petnames = petname::petnames!("words/small");
assert_eq!(petnames, Petnames::small());
}
#[test]
fn named_paths_only() {
let petnames = petname::petnames!(
adjectives = "words/small/adjectives.txt",
adverbs = "words/medium/adverbs.txt",
nouns = "words/large/nouns.txt",
);
assert_eq!(petnames.adjectives, Petnames::small().adjectives);
assert_eq!(petnames.adverbs, Petnames::medium().adverbs);
assert_eq!(petnames.nouns, Petnames::large().nouns);
}
#[test]
fn dir_with_named_paths() {
let petnames = petname::petnames!(
"words",
adjectives = "small/adjectives.txt",
adverbs = "medium/adverbs.txt",
nouns = "large/nouns.txt",
);
assert_eq!(petnames.adjectives, Petnames::small().adjectives);
assert_eq!(petnames.adverbs, Petnames::medium().adverbs);
assert_eq!(petnames.nouns, Petnames::large().nouns);
}
#[test]
fn dir_with_some_named_paths() {
let petnames = petname::petnames!("words/small", nouns = "../large/nouns.txt");
assert_eq!(petnames.adjectives, Petnames::small().adjectives);
assert_eq!(petnames.adverbs, Petnames::small().adverbs);
assert_eq!(petnames.nouns, Petnames::large().nouns);
}
#[test]
fn named_paths_in_any_order() {
let petnames = petname::petnames!(
nouns = "words/small/nouns.txt",
adjectives = "words/small/adjectives.txt",
adverbs = "words/small/adverbs.txt",
);
assert_eq!(petnames, Petnames::small());
}
#[test]
fn trailing_comma_is_optional() {
let petnames = petname::petnames!("words/small", nouns = "nouns.txt");
assert_eq!(petnames, Petnames::small());
}
#[cfg(feature = "lang-turkish")]
#[test]
fn other_languages_take_the_same_forms() {
let turkish = petname::turkish!("words/turkish", adjectives = "adjectives.txt");
assert_eq!(turkish, petname::lang::turkish::Petnames::small());
}