Skip to content

Commit 0152891

Browse files
committed
chore: increased coverage
1 parent febba37 commit 0152891

33 files changed

+266
-1
lines changed

src/dist/bernoulli.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ impl fmt::Display for BernoulliError {
387387
#[cfg(test)]
388388
mod tests {
389389
use super::*;
390+
use crate::dist::Bernoulli;
390391
use crate::misc::x2_test;
391392
use crate::test_basic_impls;
392393

@@ -744,4 +745,11 @@ mod tests {
744745

745746
assert::close(ln_f_base, ln_f_stat, TOL);
746747
}
748+
749+
#[test]
750+
fn emit_and_from_params_are_identity() {
751+
let dist_a = Bernoulli::new(0.8).unwrap();
752+
let dist_b = Bernoulli::from_params(dist_a.emit_params());
753+
assert_eq!(dist_a, dist_b);
754+
}
747755
}

src/dist/beta.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,4 +831,11 @@ mod tests {
831831
assert::close(pdf_1, pdf_2, 1e-14);
832832
}
833833
}
834+
835+
#[test]
836+
fn emit_and_from_params_are_identity() {
837+
let dist_a = Beta::new(0.8, 0.4).unwrap();
838+
let dist_b = Beta::from_params(dist_a.emit_params());
839+
assert_eq!(dist_a, dist_b);
840+
}
834841
}

src/dist/beta_binom.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,4 +489,11 @@ mod tests {
489489
let pmfs: Vec<f64> = (0..=10).map(|k| beta_binom.pmf(&k)).collect();
490490
assert::close(pmfs, target, 1E-6);
491491
}
492+
493+
#[test]
494+
fn emit_and_from_params_are_identity() {
495+
let dist_a = BetaBinomial::new(10, 0.8, 0.4).unwrap();
496+
let dist_b = BetaBinomial::from_params(dist_a.emit_params());
497+
assert_eq!(dist_a, dist_b);
498+
}
492499
}

src/dist/betaprime.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,4 +665,11 @@ mod tests {
665665
// ln_pp should be log of the cache
666666
assert_eq!(ln_pp, cache.ln());
667667
}
668+
669+
#[test]
670+
fn emit_and_from_params_are_identity() {
671+
let dist_a = BetaPrime::new(0.8, 0.4).unwrap();
672+
let dist_b = BetaPrime::from_params(dist_a.emit_params());
673+
assert_eq!(dist_a, dist_b);
674+
}
668675
}

src/dist/binomial.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,4 +529,11 @@ mod tests {
529529
});
530530
assert!(passes > 0);
531531
}
532+
533+
#[test]
534+
fn emit_and_from_params_are_identity() {
535+
let dist_a = Binomial::new(20, 0.4).unwrap();
536+
let dist_b = Binomial::from_params(dist_a.emit_params());
537+
assert_eq!(dist_a, dist_b);
538+
}
532539
}

src/dist/categorical.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,4 +497,11 @@ mod tests {
497497

498498
assert::close(ln_f_base, ln_f_stat, TOL);
499499
}
500+
501+
#[test]
502+
fn emit_and_from_params_are_identity() {
503+
let dist_a = Categorical::new(&[0.2, 0.3, 0.5]).unwrap();
504+
let dist_b = Categorical::from_params(dist_a.emit_params());
505+
assert_eq!(dist_a, dist_b);
506+
}
500507
}

src/dist/cauchy.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,4 +481,11 @@ mod tests {
481481
test_scalable_entropy!(Cauchy::new(2.0, 4.0).unwrap());
482482
test_scalable_cdf!(Cauchy::new(2.0, 4.0).unwrap());
483483
test_scalable_invcdf!(Cauchy::new(2.0, 4.0).unwrap());
484+
485+
#[test]
486+
fn emit_and_from_params_are_identity() {
487+
let dist_a = Cauchy::new(2.0, 4.0).unwrap();
488+
let dist_b = Cauchy::from_params(dist_a.emit_params());
489+
assert_eq!(dist_a, dist_b);
490+
}
484491
}

src/dist/cdvm.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,4 +532,11 @@ mod tests {
532532
let (_, p) = x2_test(&observed_counts, &ps);
533533
assert!(p > 0.05);
534534
}
535+
536+
#[test]
537+
fn emit_and_from_params_are_identity() {
538+
let dist_a = Cdvm::new(10, 5.0, 6.0).unwrap();
539+
let dist_b = Cdvm::from_params(dist_a.emit_params());
540+
assert_eq!(dist_a, dist_b);
541+
}
535542
}

src/dist/chi_squared.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,4 +327,11 @@ mod tests {
327327
});
328328
assert!(passes > 0);
329329
}
330+
331+
#[test]
332+
fn emit_and_from_params_are_identity() {
333+
let dist_a = ChiSquared::new(2.5).unwrap();
334+
let dist_b = ChiSquared::from_params(dist_a.emit_params());
335+
assert_eq!(dist_a, dist_b);
336+
}
330337
}

src/dist/crp.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,5 +326,12 @@ mod tests {
326326
assert_eq!(crp, new_crp);
327327
}
328328

329+
#[test]
330+
fn emit_and_from_params_are_identity() {
331+
let dist_a = Crp::new(1.5, 710).unwrap();
332+
let dist_b = Crp::from_params(dist_a.emit_params());
333+
assert_eq!(dist_a, dist_b);
334+
}
335+
329336
// TODO: More tests!
330337
}

0 commit comments

Comments
 (0)