Revision dd80884c
Added by Andreas Kohlbecker over 3 years ago
modules/cdm_dataportal/test/phpUnit/src/unit/StatisticalValuesTest.php | ||
---|---|---|
23 | 23 |
return $stat_val; |
24 | 24 |
} |
25 | 25 |
|
26 |
function create_statistical_values($typicalLowerBoundary = null, $typicalUpperrBoundary = null, $average = null, $sampleSize = null){ |
|
26 |
function create_statistical_values($typicalLowerBoundary = null, $typicalUpperrBoundary = null, $average = null, $sampleSize = null, $variance = null, $standard_deviation = null){
|
|
27 | 27 |
$stat_vals = statistical_values_array(); |
28 | 28 |
$stat_vals['TypicalLowerBoundary'] = $this->new_statistical_value($typicalLowerBoundary); |
29 | 29 |
$stat_vals['TypicalUpperBoundary'] = $this->new_statistical_value($typicalUpperrBoundary); |
30 | 30 |
$stat_vals['SampleSize'] = $this->new_statistical_value($sampleSize); |
31 | 31 |
$stat_vals['Average'] = $this->new_statistical_value($average); |
32 |
if($variance){ |
|
33 |
$stat_vals['Variance'] = $this->new_statistical_value($variance); |
|
34 |
} |
|
35 |
if($standard_deviation){ |
|
36 |
$stat_vals['StandardDeviation'] = $this->new_statistical_value($standard_deviation); |
|
37 |
} |
|
32 | 38 |
return $stat_vals; |
33 | 39 |
} |
34 | 40 |
|
... | ... | |
36 | 42 |
return html_entity_decode(strip_tags($html), ENT_COMPAT, 'utf-8'); |
37 | 43 |
} |
38 | 44 |
|
39 |
function test_statistical_values() { |
|
45 |
function test_statistical_values_significant_figures_avarage() {
|
|
40 | 46 |
|
41 |
$stat_vals = $this->create_statistical_values(0.123457, 0.123456, 0.123456523847, 5);
|
|
47 |
$stat_vals = $this->create_statistical_values(0.123457, 0.123456, 0.1234565345, 5);
|
|
42 | 48 |
$this->assertEquals('0.123457–0.123456[5;x̄=0.1234565]', $this->html2text(statistical_values($stat_vals))); |
43 | 49 |
|
44 | 50 |
$stat_vals = $this->create_statistical_values(12.23, 14.2, 13.2231423, 15); |
... | ... | |
56 | 62 |
$stat_vals = $this->create_statistical_values(0.00000001, 1, (1 - 0.00000001) / 2, 20); |
57 | 63 |
$this->assertEquals('1.0E-8–1[20;x̄=0.5]', $this->html2text(statistical_values($stat_vals))); |
58 | 64 |
|
65 |
$stat_vals = $this->create_statistical_values(22, 23, 22.5, 4); |
|
66 |
$this->assertEquals('22–23[4;x̄=22.5]', $this->html2text(statistical_values($stat_vals))); |
|
67 |
|
|
68 |
// see https://dev.e-taxonomy.eu/redmine/issues/8771#note-17 |
|
69 |
$stat_vals = $this->create_statistical_values(22, 23, 22.047619, 24); |
|
70 |
$this->assertEquals('22–23[24;x̄=22]', $this->html2text(statistical_values($stat_vals))); |
|
71 |
} |
|
72 |
|
|
73 |
|
|
74 |
function test_statistical_values_no_min_max() { |
|
75 |
|
|
76 |
$stat_vals = $this->create_statistical_values(null, null, 0.1234, 5); |
|
77 |
$this->assertEquals('0.1234[5]', $this->html2text(statistical_values($stat_vals))); |
|
78 |
|
|
79 |
// as discussed in https://dev.e-taxonomy.eu/redmine/issues/8771#note-16 variance etc should not be suppressed |
|
80 |
$stat_vals = $this->create_statistical_values(null, null, 0.1234, 5, 0.3, 0.12); |
|
81 |
$this->assertEquals('0.1234[5;σ²=0.3;σ=0.12]', $this->html2text(statistical_values($stat_vals))); |
|
59 | 82 |
} |
60 | 83 |
|
61 | 84 |
} |
Also available in: Unified diff
ref #8771 finetuning of statistical values display and more tests