Skip to content

Commit

Permalink
test: ensure test suite matches behavior for restricting bounded Uniform
Browse files Browse the repository at this point in the history
  • Loading branch information
YeungOnion committed Apr 21, 2024
1 parent b1ca20e commit 97938eb
Showing 1 changed file with 2 additions and 23 deletions.
25 changes: 2 additions & 23 deletions src/distribution/uniform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,6 @@ mod tests {

#[test]
fn test_create() {
create_case(0.0, 0.0);
create_case(0.0, 0.1);
create_case(0.0, 1.0);
create_case(10.0, 10.0);
Expand All @@ -298,9 +297,11 @@ mod tests {

#[test]
fn test_bad_create() {
bad_create_case(0.0, 0.0);
bad_create_case(f64::NAN, 1.0);
bad_create_case(1.0, f64::NAN);
bad_create_case(f64::NAN, f64::NAN);
bad_create_case(0.0, f64::INFINITY);
bad_create_case(1.0, 0.0);
}

Expand All @@ -311,7 +312,6 @@ mod tests {
test_case(0.0, 2.0, 1.0 / 3.0, variance);
test_almost(0.1, 4.0, 1.2675, 1e-15, variance);
test_case(10.0, 11.0, 1.0 / 12.0, variance);
test_case(0.0, f64::INFINITY, f64::INFINITY, variance);
}

#[test]
Expand All @@ -322,7 +322,6 @@ mod tests {
test_almost(0.1, 4.0, 1.360976553135600743431, 1e-15, entropy);
test_case(1.0, 10.0, 2.19722457733621938279, entropy);
test_case(10.0, 11.0, 0.0, entropy);
test_case(0.0, f64::INFINITY, f64::INFINITY, entropy);
}

#[test]
Expand All @@ -333,7 +332,6 @@ mod tests {
test_case(0.1, 4.0, 0.0, skewness);
test_case(1.0, 10.0, 0.0, skewness);
test_case(10.0, 11.0, 0.0, skewness);
test_case(0.0, f64::INFINITY, 0.0, skewness);
}

#[test]
Expand All @@ -344,7 +342,6 @@ mod tests {
test_case(0.1, 4.0, 2.05, mode);
test_case(1.0, 10.0, 5.5, mode);
test_case(10.0, 11.0, 10.5, mode);
test_case(0.0, f64::INFINITY, f64::INFINITY, mode);
}

#[test]
Expand All @@ -355,15 +352,11 @@ mod tests {
test_case(0.1, 4.0, 2.05, median);
test_case(1.0, 10.0, 5.5, median);
test_case(10.0, 11.0, 10.5, median);
test_case(0.0, f64::INFINITY, f64::INFINITY, median);
}

#[test]
fn test_pdf() {
let pdf = |arg: f64| move |x: Uniform| x.pdf(arg);
test_case(0.0, 0.0, 0.0, pdf(-5.0));
test_case(0.0, 0.0, f64::INFINITY, pdf(0.0));
test_case(0.0, 0.0, 0.0, pdf(5.0));
test_case(0.0, 0.1, 0.0, pdf(-5.0));
test_case(0.0, 0.1, 10.0, pdf(0.05));
test_case(0.0, 0.1, 0.0, pdf(5.0));
Expand All @@ -378,17 +371,11 @@ mod tests {
test_case(-5.0, 100.0, 0.009523809523809523809524, pdf(-5.0));
test_case(-5.0, 100.0, 0.009523809523809523809524, pdf(0.0));
test_case(-5.0, 100.0, 0.0, pdf(101.0));
test_case(0.0, f64::INFINITY, 0.0, pdf(-5.0));
test_case(0.0, f64::INFINITY, 0.0, pdf(10.0));
test_case(0.0, f64::INFINITY, 0.0, pdf(f64::INFINITY));
}

#[test]
fn test_ln_pdf() {
let ln_pdf = |arg: f64| move |x: Uniform| x.ln_pdf(arg);
test_case(0.0, 0.0, f64::NEG_INFINITY, ln_pdf(-5.0));
test_case(0.0, 0.0, f64::INFINITY, ln_pdf(0.0));
test_case(0.0, 0.0, f64::NEG_INFINITY, ln_pdf(5.0));
test_case(0.0, 0.1, f64::NEG_INFINITY, ln_pdf(-5.0));
test_almost(0.0, 0.1, 2.302585092994045684018, 1e-15, ln_pdf(0.05));
test_case(0.0, 0.1, f64::NEG_INFINITY, ln_pdf(5.0));
Expand All @@ -403,9 +390,6 @@ mod tests {
test_case(-5.0, 100.0, -4.653960350157523371101, ln_pdf(-5.0));
test_case(-5.0, 100.0, -4.653960350157523371101, ln_pdf(0.0));
test_case(-5.0, 100.0, f64::NEG_INFINITY, ln_pdf(101.0));
test_case(0.0, f64::INFINITY, f64::NEG_INFINITY, ln_pdf(-5.0));
test_case(0.0, f64::INFINITY, f64::NEG_INFINITY, ln_pdf(10.0));
test_case(0.0, f64::INFINITY, f64::NEG_INFINITY, ln_pdf(f64::INFINITY));
}

#[test]
Expand All @@ -418,8 +402,6 @@ mod tests {
test_case(0.0, 10.0, 0.5, cdf(5.0));
test_case(-5.0, 100.0, 0.0, cdf(-5.0));
test_case(-5.0, 100.0, 0.04761904761904761904762, cdf(0.0));
test_case(0.0, f64::INFINITY, 0.0, cdf(10.0));
test_case(0.0, f64::INFINITY, 1.0, cdf(f64::INFINITY));
}

#[test]
Expand All @@ -438,15 +420,12 @@ mod tests {
#[test]
fn test_sf() {
let sf = |arg: f64| move |x: Uniform| x.sf(arg);
test_case(0.0, 0.0, 1.0, sf(0.0));
test_case(0.0, 0.1, 0.5, sf(0.05));
test_case(0.0, 1.0, 0.5, sf(0.5));
test_case(0.0, 10.0, 0.9, sf(1.0));
test_case(0.0, 10.0, 0.5, sf(5.0));
test_case(-5.0, 100.0, 1.0, sf(-5.0));
test_case(-5.0, 100.0, 0.9523809523809523, sf(0.0));
test_case(0.0, f64::INFINITY, 1.0, sf(10.0));
test_case(0.0, f64::INFINITY, 0.0, sf(f64::INFINITY));
}

#[test]
Expand Down

0 comments on commit 97938eb

Please sign in to comment.