Example #1
0
<?php

// vim: fenc=utf-8:ft=php:ai:si:ts=4:sw=4:et:
/**
 * Use bcmath to calculate expected expProviders['provideChanges'] for Test/Analyst/BasicDecimal/Data/provider.php.
 *
 * @filesource
 * @copyright   Copyright (c) 2008-2011 David Smith
 * @license     http://www.opensource.org/licenses/mit-license.php MIT License
 * @package     Hashmark-Test
 * @subpackage  Hashmark_Analyst_BasicDecimal
 * @version     $Id$
*/
$sampleProviders = Hashmark_TestCase_Analyst_BasicDecimal::provideFullSamplesData();
$expValues = array();
foreach ($expProviders['provideChanges'] as $sampleProviderName => $changes) {
    $distinctChanges = array_unique($changes);
    $expValues[$sampleProviderName] = array('ALL' => array(), 'DIS' => array());
    $expValues[$sampleProviderName]['ALL']['AVG'] = Hashmark_BcMath::avg($changes);
    $expValues[$sampleProviderName]['DIS']['AVG'] = Hashmark_BcMath::avg($distinctChanges);
    $expValues[$sampleProviderName]['ALL']['SUM'] = Hashmark_BcMath::sum($changes);
    $expValues[$sampleProviderName]['DIS']['SUM'] = Hashmark_BcMath::sum($distinctChanges);
    $expValues[$sampleProviderName]['ALL']['MAX'] = Hashmark_BcMath::max($changes);
    $expValues[$sampleProviderName]['DIS']['MAX'] = $expValues[$sampleProviderName]['ALL']['MAX'];
    $expValues[$sampleProviderName]['ALL']['MIN'] = Hashmark_BcMath::min($changes);
    $expValues[$sampleProviderName]['DIS']['MIN'] = $expValues[$sampleProviderName]['ALL']['MIN'];
}
 * @copyright   Copyright (c) 2008-2011 David Smith
 * @license     http://www.opensource.org/licenses/mit-license.php MIT License
 * @package     Hashmark-Test
 * @subpackage  Hashmark_Analyst_BasicDecimal
 * @version     $Id$
*/
$expValues = array();
$aggFunctions = Hashmark_TestCase_Analyst_BasicDecimal::getAggFunctions();
foreach ($expProviders['provideChangesAggAtInterval'] as $sampleProviderName => $providerAggs) {
    $expValues[$sampleProviderName] = array('ALL' => array_fill_keys($aggFunctions, array()), 'DIS_INNER' => array_fill_keys($aggFunctions, array()), 'DIS_OUTER' => array_fill_keys($aggFunctions, array()), 'DIS_BOTH' => array_fill_keys($aggFunctions, array()));
    foreach ($aggFunctions as $aggFuncInner) {
        $distinctOuterValues = array_unique($providerAggs['ALL'][$aggFuncInner]);
        $distinctBothValues = array_unique($providerAggs['DIS'][$aggFuncInner]);
        $expValues[$sampleProviderName]['ALL']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($providerAggs['ALL'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_INNER']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($providerAggs['DIS'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_OUTER']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($distinctOuterValues);
        $expValues[$sampleProviderName]['DIS_BOTH']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($distinctBothValues);
        $expValues[$sampleProviderName]['ALL']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($providerAggs['ALL'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_INNER']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($providerAggs['DIS'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_OUTER']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($distinctOuterValues);
        $expValues[$sampleProviderName]['DIS_BOTH']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($distinctBothValues);
        $expValues[$sampleProviderName]['ALL']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($providerAggs['ALL'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_INNER']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($providerAggs['DIS'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_OUTER']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($distinctOuterValues);
        $expValues[$sampleProviderName]['DIS_BOTH']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($distinctBothValues);
        $expValues[$sampleProviderName]['ALL']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($providerAggs['ALL'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_INNER']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($providerAggs['DIS'][$aggFuncInner]);
        $expValues[$sampleProviderName]['DIS_OUTER']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($distinctOuterValues);
        $expValues[$sampleProviderName]['DIS_BOTH']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($distinctBothValues);
    }
}
            if ('z' == $format) {
                $groupName += 1;
            }
            if (!isset($groupValues[$recurFunc][$groupName])) {
                $groupValues[$recurFunc][$groupName] = array();
            }
            // Ex. $groupValues['DAYOFMONTH']['22'] = $value;
            $groupValues[$recurFunc][$groupName][] = $value;
        }
    }
    $expValues[$sampleProviderName] = array('ALL' => array_fill_keys($recurFunctions, array()), 'DIS' => array_fill_keys($recurFunctions, array()));
    foreach ($groupValues as $recurFunc => $recurValues) {
        foreach ($recurValues as $groupName => $values) {
            if (!isset($expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName])) {
                $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName] = array();
            }
            if (!isset($expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName])) {
                $expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName] = array();
            }
            $distinctValues = array_unique($values);
            $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['AVG'] = Hashmark_BcMath::avg($values);
            $expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName]['AVG'] = Hashmark_BcMath::avg($distinctValues);
            $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['SUM'] = Hashmark_BcMath::sum($values);
            $expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName]['SUM'] = Hashmark_BcMath::sum($distinctValues);
            $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['MAX'] = Hashmark_BcMath::max($values);
            $expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName]['MAX'] = $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['MAX'];
            $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['MIN'] = Hashmark_BcMath::min($values);
            $expValues[$sampleProviderName]['DIS'][$recurFunc][$groupName]['MIN'] = $expValues[$sampleProviderName]['ALL'][$recurFunc][$groupName]['MIN'];
        }
    }
}
Example #4
0
 /**
  * @test
  * @group BcMath
  * @group calculatesMinValue
  * @group min
  * @group assertDecimalEquals
  */
 public function calculatesMinValue()
 {
     $data = array();
     $data[] = array('-1000000000000000.3701', array('-0000000000000000.0001', '-1000000000000000.3701', '-0000000000000000.0002', '1000000000000000.4504'));
     $data[] = array('-1000000000000000.4504', array('0000000000000000.0001', '-1000000000000000.3701', '0000000000000000.0002', '-1000000000000000.4504'));
     $data[] = array('0000000000000000.0001', array('0000000000000000.0001', '1000000000000000.3701', '0000000000000000.0002', '1000000000000000.4504'));
     $data[] = array('-0000000000000000.0002', array('-0000000000000000.0001', '1000000000000000.3701', '-0000000000000000.0002', '1000000000000000.4504'));
     foreach ($data as $d) {
         list($expectedMin, $values) = $d;
         $this->assertDecimalEquals($expectedMin, Hashmark_BcMath::min($values));
     }
 }
Example #5
0
<?php

// vim: fenc=utf-8:ft=php:ai:si:ts=4:sw=4:et:
/**
 * Use bcmath to calculate expected values for Test/Analyst/BasicDecimal/Data/provider.php.
 *
 * @filesource
 * @copyright   Copyright (c) 2008-2011 David Smith
 * @license     http://www.opensource.org/licenses/mit-license.php MIT License
 * @package     Hashmark-Test
 * @subpackage  Hashmark_Analyst_BasicDecimal
 * @version     $Id$
*/
$values = array();
$provideValuesSamples = Hashmark_TestCase_Analyst_BasicDecimal::provideFullSamplesData('provideValuesSamples');
foreach ($provideValuesSamples['samples'] as $sample) {
    list($end, $value, , $isInRange) = $sample;
    if ($isInRange) {
        $values[] = $value;
    }
}
$distinctValues = array_unique($values);
$expValues = array('ALL' => array(), 'DIS' => array());
$expValues['ALL']['AVG'] = Hashmark_BcMath::avg($values);
$expValues['DIS']['AVG'] = Hashmark_BcMath::avg($distinctValues);
$expValues['ALL']['SUM'] = Hashmark_BcMath::sum($values);
$expValues['DIS']['SUM'] = Hashmark_BcMath::sum($distinctValues);
$expValues['ALL']['MAX'] = Hashmark_BcMath::max($values);
$expValues['DIS']['MAX'] = $expValues['ALL']['MAX'];
$expValues['ALL']['MIN'] = Hashmark_BcMath::min($values);
$expValues['DIS']['MIN'] = $expValues['ALL']['MIN'];
Example #6
0
 * Use bcmath to calculate expected values for Test/Analyst/BasicDecimal/Data/provider.php.
 *
 * @filesource
 * @copyright   Copyright (c) 2008-2011 David Smith
 * @license     http://www.opensource.org/licenses/mit-license.php MIT License
 * @package     Hashmark-Test
 * @subpackage  Hashmark_Analyst_BasicDecimal
 * @version     $Id$
*/
$sampleProviders = Hashmark_TestCase_Analyst_BasicDecimal::provideFullSamplesData();
$aggFunctions = Hashmark_TestCase_Analyst_BasicDecimal::getAggFunctions();
foreach ($sampleProviders as $sampleProviderName => $sampleProviderData) {
    $expValues[$sampleProviderName] = array('ALL' => array_fill_keys($aggFunctions, array()), 'DIS' => array_fill_keys($aggFunctions, array()));
    $values = array();
    foreach ($sampleProviderData['samples'] as $sample) {
        list($end, $value, , $isInRange) = $sample;
        if (!$isInRange) {
            continue;
        }
        $values[] = $value;
        $distinctValues = array_unique($values);
        $expValues[$sampleProviderName]['ALL']['AVG'][$end] = Hashmark_BcMath::avg($values);
        $expValues[$sampleProviderName]['DIS']['AVG'][$end] = Hashmark_BcMath::avg($distinctValues);
        $expValues[$sampleProviderName]['ALL']['SUM'][$end] = Hashmark_BcMath::sum($values);
        $expValues[$sampleProviderName]['DIS']['SUM'][$end] = Hashmark_BcMath::sum($distinctValues);
        $expValues[$sampleProviderName]['ALL']['MAX'][$end] = Hashmark_BcMath::max($values);
        $expValues[$sampleProviderName]['DIS']['MAX'][$end] = $expValues[$sampleProviderName]['ALL']['MAX'][$end];
        $expValues[$sampleProviderName]['ALL']['MIN'][$end] = Hashmark_BcMath::min($values);
        $expValues[$sampleProviderName]['DIS']['MIN'][$end] = $expValues[$sampleProviderName]['ALL']['MIN'][$end];
    }
}