/iaLib/ia_examples/ia/Lib/iaRanger_example.php
<?php
$ia_example = [
'title' => 'ia\Lib\iaRanger', // fully qualified className
'summary' => '', // class summary
'full_example' => '', // full usage example, relative path from ia_examples, blank '' not shown.
'example_file' => 'code/ia/Lib/iaRanger_example_code.php', // method by method example, blank '' not shown.
];
include( __DIR__ . '/../../template/ia_example_class.php');
/iaLib/ia_examples/code/ia/Lib/iaRanger_example_code.php
use ia\Lib\iaRanger;
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 '<ul class="usage">';
///////// iaRanger::iaNumbers2Ranges(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_iaNumbers2Ranges'><b>iaRanger::iaNumbers2Ranges(<span class="type">array</span> \$data, <span class="type">array</span> \$keys <span class="default">= []</span>, <span class="type">string</span> \$keyForNumber <span class="default">= null</span>, <span class="type">string</span> \$joinWith <span class="default">= '-'</span>, <span class="type">string</span> \$separateBy <span class="default">= ', '</span>, <span class="type">bool</span> \$md5Key <span class="default">= false</span>) <span>: array|string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaRanger", "iaNumbers2Ranges")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaRanger::iaNumbers2Ranges(['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaRanger::iaNumbers2Ranges(['a' => '1', 'b' => '2', 'c' => 3])
);
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\Lib\iaRanger;
use PHPUnit\Framework\TestCase;
class iaRangerTest extends TestCase {
/**
* @dataProvider iaNumbers2Ranges_Provider
*
*/
public function test_iaNumbers2Ranges($data, $keys, $keyForNumber, $joinWith, $separateBy, $md5Key , $expected) {
$this->assertEquals($expected, iaRanger::iaNumbers2Ranges($data, $keys, $keyForNumber, $joinWith, $separateBy, $md5Key) );
}
function iaNumbers2Ranges_Provider() {
return [
'test 1' => [ '', '', '', '', '', '', '' ],
];
}
}
ia Doc