/iaLib/ia_examples/ia/Math/Stats_example.php
<?php
$ia_example = [
'title' => 'ia\Math\Stats', // fully qualified className
'summary' => '', // class summary
'full_example' => '', // full usage example, relative path from ia_examples, blank '' not shown.
'example_file' => 'code/ia/Math/Stats_example_code.php', // method by method example, blank '' not shown.
];
include( __DIR__ . '/../../template/ia_example_class.php');
/iaLib/ia_examples/code/ia/Math/Stats_example_code.php
use ia\Math\Stats;
use ia\DocumentIt\DocumentIt;
echo '<h3>Disclaimer: Auto generated file.
Please help us setting parameters to useful values and extending the examples.
</h3>';
try {
echo <<< CONSTRUCTOR_PROTOTYPE
<pre>
/**
* Constructor
*
* @param integer \$scale number of decimals
* @param integer \$exceptions How to manage missing, null, N/A & not numeric. Stats::MISSING_ Stats::NA_ default Asume 0.00
* @return void
*/
/*
\$stats = new Stats(<span class="type">integer</span> \$scale <span class="default">= 8</span>, <span class="type">integer</span> \$exceptions <span class="default">= 8</span>);
*/
\$stats = new Stats();
</pre>
CONSTRUCTOR_PROTOTYPE;
$stats = new Stats();
echo '<ul class="usage">';
///////// \$stats->pushArray(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_pushArray'><b>\$stats->pushArray(<span class="type">array</span> \$valuesArray) <span>: Stats</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "pushArray")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->pushArray(['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$stats->pushArray(['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// \$stats->push(3); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_push'><b>\$stats->push(<span class="type">string|int</span> \$x) <span>: void</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "push")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->push(3);"
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->push(3);
echo '</ol>';
///////// \$stats->count(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_count'><b>\$stats->count() <span>: string|int</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "count")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->count(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->count();
echo '</ol>';
///////// \$stats->min(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_min'><b>\$stats->min() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "min")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->min(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->min();
echo '</ol>';
///////// \$stats->avg(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_avg'><b>\$stats->avg() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "avg")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->avg(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->avg();
echo '</ol>';
///////// \$stats->max(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_max'><b>\$stats->max() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "max")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->max(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->max();
echo '</ol>';
///////// \$stats->sum(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_sum'><b>\$stats->sum() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "sum")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->sum(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->sum();
echo '</ol>';
///////// \$stats->variance(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_variance'><b>\$stats->variance() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "variance")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->variance(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->variance();
echo '</ol>';
///////// \$stats->stdDev(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_stdDev'><b>\$stats->stdDev() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "stdDev")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->stdDev(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->stdDev();
echo '</ol>';
///////// \$stats->skewness(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_skewness'><b>\$stats->skewness() <span>: </span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "skewness")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->skewness();
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$stats->skewness()
);
echo "</pre>";
echo '</ol>';
///////// \$stats->kurtosis(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_kurtosis'><b>\$stats->kurtosis() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "kurtosis")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->kurtosis(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->kurtosis();
echo '</ol>';
///////// \$stats->cv(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_cv'><b>\$stats->cv() <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "cv")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->cv(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $stats->cv();
echo '</ol>';
///////// \$stats->stats(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_stats'><b>\$stats->stats() <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Math\Stats", "stats")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$stats->stats();
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$stats->stats()
);
echo "</pre>";
echo '</ol>';
/* PerfilExample adds new methods here */
echo '</ul>';
} catch(Exception $exception) { echo "<pre class='errorBlock'>$exception</pre>"; }
phpunit test file template
<?php
use ia\Math\Stats;
use PHPUnit\Framework\TestCase;
class StatsTest extends TestCase {
/**
* @dataProvider pushArray_Provider
*
*/
public function test_pushArray($valuesArray , $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->pushArray($valuesArray) );
}
function pushArray_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider push_Provider
*
*/
public function test_push($x , $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->push($x) );
}
function push_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider count_Provider
*
*/
public function test_count( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->count() );
}
function count_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider min_Provider
*
*/
public function test_min( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->min() );
}
function min_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider avg_Provider
*
*/
public function test_avg( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->avg() );
}
function avg_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider max_Provider
*
*/
public function test_max( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->max() );
}
function max_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider sum_Provider
*
*/
public function test_sum( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->sum() );
}
function sum_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider variance_Provider
*
*/
public function test_variance( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->variance() );
}
function variance_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider stdDev_Provider
*
*/
public function test_stdDev( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->stdDev() );
}
function stdDev_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider skewness_Provider
*
*/
public function test_skewness( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->skewness() );
}
function skewness_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider kurtosis_Provider
*
*/
public function test_kurtosis( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->kurtosis() );
}
function kurtosis_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider cv_Provider
*
*/
public function test_cv( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->cv() );
}
function cv_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider stats_Provider
*
*/
public function test_stats( $expected) {
$stats = new Stats($scale, $exceptions);
$this->assertEquals($expected, $stats->stats() );
}
function stats_Provider() {
return [
'test 1' => [ '' ],
];
}
}
ia Doc