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, 'utf8'); 
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.0E8–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.etaxonomy.eu/redmine/issues/8771#note17 

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.etaxonomy.eu/redmine/issues/8771#note16 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