Skip to content

Commit 04e139c

Browse files
committed
Add generate doctests
1 parent 0313e97 commit 04e139c

File tree

1 file changed

+40
-11
lines changed

1 file changed

+40
-11
lines changed

src/lib.rs

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,18 @@ impl Mnemonic {
219219
/// Generate a new [Mnemonic] in the given language
220220
/// with the given randomness source.
221221
/// For the different supported word counts, see documentation on [Mnemonic].
222+
///
223+
/// Example:
224+
///
225+
/// ```
226+
/// extern crate rand;
227+
/// extern crate bip39;
228+
///
229+
/// use bip39::{Mnemonic, Language};
230+
///
231+
/// let mut rng = rand::thread_rng();
232+
/// let m = Mnemonic::generate_in_with(&mut rng, Language::English, 24).unwrap();
233+
/// ```
222234
pub fn generate_in_with<R>(rng: &mut R, language: Language, word_count: usize) -> Result<Mnemonic, Error>
223235
where R: rand_core::RngCore + rand_core::CryptoRng,
224236
{
@@ -234,13 +246,33 @@ impl Mnemonic {
234246

235247
/// Generate a new [Mnemonic] in the given language.
236248
/// For the different supported word counts, see documentation on [Mnemonic].
249+
///
250+
/// Example:
251+
///
252+
/// ```
253+
/// extern crate bip39;
254+
///
255+
/// use bip39::{Mnemonic, Language};
256+
///
257+
/// let m = Mnemonic::generate_in(Language::English, 24).unwrap();
258+
/// ```
237259
#[cfg(feature = "rand")]
238260
pub fn generate_in(language: Language, word_count: usize) -> Result<Mnemonic, Error> {
239261
Mnemonic::generate_in_with(&mut rand::thread_rng(), language, word_count)
240262
}
241263

242264
/// Generate a new [Mnemonic] in English.
243265
/// For the different supported word counts, see documentation on [Mnemonic].
266+
///
267+
/// Example:
268+
///
269+
/// ```
270+
/// extern crate bip39;
271+
///
272+
/// use bip39::{Mnemonic,};
273+
///
274+
/// let m = Mnemonic::generate(24).unwrap();
275+
/// ```
244276
#[cfg(feature = "rand")]
245277
pub fn generate(word_count: usize) -> Result<Mnemonic, Error> {
246278
Mnemonic::generate_in(Language::English, word_count)
@@ -499,17 +531,6 @@ mod tests {
499531

500532
use bitcoin_hashes::hex::FromHex;
501533

502-
#[cfg(feature = "rand")]
503-
#[test]
504-
fn test_bit_counts() {
505-
let m = Mnemonic::generate(12).unwrap();
506-
assert_eq!(m.word_count(), 12);
507-
let m = Mnemonic::generate(18).unwrap();
508-
assert_eq!(m.word_count(), 18);
509-
let m = Mnemonic::generate(24).unwrap();
510-
assert_eq!(m.word_count(), 24);
511-
}
512-
513534
#[cfg(feature = "rand")]
514535
#[test]
515536
fn test_language_of() {
@@ -540,6 +561,14 @@ mod tests {
540561
assert_eq!(amb.iter().collect::<Vec<_>>(), present_vec);
541562
}
542563

564+
#[cfg(feature = "rand")]
565+
#[test]
566+
fn test_generate() {
567+
let _ = Mnemonic::generate(24).unwrap();
568+
let _ = Mnemonic::generate_in(Language::English, 24).unwrap();
569+
let _ = Mnemonic::generate_in_with(&mut rand::thread_rng(), Language::English, 24).unwrap();
570+
}
571+
543572
#[test]
544573
fn test_vectors_english() {
545574
// These vectors are tuples of

0 commit comments

Comments
 (0)