use name_engine::{Name, NameGeneratorBuilder};
use rand::{rngs::StdRng, Rng, SeedableRng};
fn main() {
let place_names = vec![
vec![("青", "ao"), ("森", "mori")],
vec![("盛", "mori"), ("岡", "oka")],
vec![("酒", "saka"), ("田", "ta")],
vec![("米", "yone"), ("沢", "zawa")],
vec![("秋", "aki"), ("田", "ta")],
vec![("山", "yama"), ("形", "gata")],
vec![("福", "fuku"), ("島", "shima")],
vec![("仙", "sen"), ("台", "dai")],
vec![("長", "naga"), ("岡", "oka")],
vec![("上", "jo"), ("越", "etsu")],
vec![("佐", "sa"), ("渡", "do")],
vec![("高", "taka"), ("崎", "saki")],
vec![("伊", "i"), ("勢", "se"), ("崎", "saki")],
vec![("日", "hi"), ("立", "tachi")],
vec![("水", "mi"), ("戸", "to")],
vec![("成", "nari"), ("田", "ta")],
vec![("船", "funa"), ("橋", "bashi")],
vec![("佐", "sa"), ("倉", "kura")],
vec![("市", "ichi"), ("原", "hara")],
vec![("立", "tachi"), ("川", "kawa")],
vec![("八", "hachi"), ("王", "o"), ("子", "ji")],
vec![("所", "tokoro"), ("沢", "zawa")],
vec![("飯", "ii"), ("田", "da")],
vec![("上", "jo"), ("田", "da")],
vec![("小", "ko"), ("諸", "moro")],
vec![("長", "naga"), ("野", "no")],
vec![("松", "matsu"), ("本", "moto")],
vec![("豊", "toyo"), ("橋", "hashi")],
vec![("名", "na"), ("古", "go"), ("屋", "ya")],
vec![("岡", "oka"), ("崎", "zaki")],
vec![("豊", "toyo"), ("田", "ta")],
vec![("高", "taka"), ("山", "yama")],
vec![("金", "kana"), ("沢", "zawa")],
vec![("富", "to"), ("山", "yama")],
vec![("福", "fuku"), ("井", "i")],
vec![("甲", "ko"), ("府", "fu")],
vec![("静", "shizu"), ("岡", "oka")],
vec![("浜", "hama"), ("松", "matsu")],
vec![("長", "naga"), ("浜", "hama")],
vec![("小", "o"), ("浜", "bama")],
vec![("大", "o"), ("津", "tsu")],
vec![("亀", "kame"), ("岡", "oka")],
vec![("豊", "toyo"), ("岡", "oka")],
vec![("神", "ko"), ("戸", "be")],
vec![("姫", "hime"), ("路", "ji")],
vec![("洲", "su"), ("本", "moto")],
vec![("三", "san"), ("田", "da")],
vec![("松", "matsu"), ("原", "bara")],
vec![("岸", "kishi"), ("和", "wa"), ("田", "ta")],
vec![("有", "ari"), ("田", "ta")],
vec![("徳", "toku"), ("島", "shima")],
vec![("高", "taka"), ("松", "matsu")],
vec![("松", "matsu"), ("山", "yama")],
vec![("南", "nan"), ("国", "koku")],
vec![("岡", "oka"), ("山", "yama")],
vec![("広", "hiro"), ("島", "shima")],
vec![("福", "fuku"), ("山", "yama")],
vec![("赤", "aka"), ("磐", "iwa")],
vec![("津", "tsu"), ("山", "yama")],
vec![("岩", "iwa"), ("国", "kuni")],
vec![("山", "yama"), ("口", "guchi")],
vec![("宇", "u"), ("部", "be")],
vec![("浜", "hama"), ("田", "da")],
vec![("大", "o"), ("田", "ta")],
vec![("松", "matsu"), ("江", "e")],
vec![("倉", "kura"), ("吉", "yoshi")],
vec![("佐", "sa"), ("世", "se"), ("保", "bo")],
vec![("福", "fuku"), ("岡", "oka")],
vec![("大", "o"), ("村", "mura")],
vec![("島", "shima"), ("原", "bara")],
vec![("中", "naka"), ("津", "tsu")],
vec![("久", "ku"), ("留", "ru"), ("米", "me")],
vec![("大", "o"), ("牟", "mu"), ("田", "ta")],
vec![("玉", "tama"), ("名", "na")],
vec![("人", "hito"), ("吉", "yoshi")],
vec![("霧", "kiri"), ("島", "shima")],
vec![("日", "hi"), ("置", "oki")],
vec![("鹿", "ka"), ("児", "go"), ("島", "shima")],
vec![("宮", "miya"), ("崎", "zaki")],
]
.iter()
.map(|name| Name::new(name.to_vec()).unwrap())
.collect::<Vec<Name>>();
let generator = NameGeneratorBuilder::new()
.bulk_add_names(place_names)
.build();
let mut rng: StdRng = SeedableRng::seed_from_u64(0);
(0..100).for_each(|_| {
let name = generator.generate(|| rng.gen());
println!("{} {}", name.0, name.1);
});
}