mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-11 17:58:41 +00:00
bug fixes and implement some incomplete tests
This commit is contained in:
parent
6c5a7dbdcb
commit
18c11fb229
|
|
@ -14,7 +14,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\Config;
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabaseExceptionFactory;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Cache\CachePool;
|
||||
use phpOMS\DataStorage\Database\Connection\ConnectionAbstract;
|
||||
|
|
@ -117,10 +116,7 @@ abstract class SettingsAbstract implements OptionsInterface
|
|||
return \count($options) > 1 ? $options : \reset($options);
|
||||
} catch (\PDOException $e) {
|
||||
// @codeCoverageIgnoreStart
|
||||
$exception = DatabaseExceptionFactory::createException($e);
|
||||
$message = DatabaseExceptionFactory::createExceptionMessage($e);
|
||||
|
||||
throw new $exception($message);
|
||||
echo $e->getMessage();
|
||||
// @codeCoverageIgnoreEnd
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package phpOMS\DataStorage\Database
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace phpOMS\DataStorage\Database;
|
||||
|
||||
use phpOMS\DataStorage\Database\Schema\Exception\TableException;
|
||||
|
||||
/**
|
||||
* Database exception factory.
|
||||
*
|
||||
* @package phpOMS\DataStorage\Database
|
||||
* @license OMS License 1.0
|
||||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class DatabaseExceptionFactory
|
||||
{
|
||||
/**
|
||||
* Create exception class string based on exception.
|
||||
*
|
||||
* @param \PDOException $e Exception
|
||||
*
|
||||
* @return string Returns exception namespace/class
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function createException(\PDOException $e) : string
|
||||
{
|
||||
switch ($e->getCode()) {
|
||||
case '42S02':
|
||||
return '\phpOMS\DataStorage\Database\Schema\Exception\TableException';
|
||||
default:
|
||||
return '\PDOException';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create exception message based on exception.
|
||||
*
|
||||
* @param \PDOException $e Exception
|
||||
*
|
||||
* @return string Returns exception pessage
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function createExceptionMessage(\PDOException $e) : string
|
||||
{
|
||||
switch ($e->getCode()) {
|
||||
case '42S02':
|
||||
return TableException::findTable($e->getMessage());
|
||||
default:
|
||||
return $e->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package phpOMS\DataStorage\Database\Schema\Exception
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace phpOMS\DataStorage\Database\Schema\Exception;
|
||||
|
||||
/**
|
||||
* Path exception class.
|
||||
*
|
||||
* @package phpOMS\DataStorage\Database\Schema\Exception
|
||||
* @license OMS License 1.0
|
||||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class TableException extends \PDOException
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $message Exception message
|
||||
* @param int $code Exception code
|
||||
* @param \Exception $previous Previous exception
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function __construct(string $message, int $code = 0, \Exception $previous = null)
|
||||
{
|
||||
parent::__construct('The table "' . $message . '" doesn\'t exist.', $code, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get table name from exception.
|
||||
*
|
||||
* @param string $message Exception message
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function findTable(string $message) : string
|
||||
{
|
||||
$pos1 = \strpos($message, '\'');
|
||||
|
||||
if ($pos1 === false) {
|
||||
return $message;
|
||||
}
|
||||
|
||||
$pos2 = \strpos($message, '\'', $pos1 + 1);
|
||||
|
||||
if ($pos2 === false) {
|
||||
return $message;
|
||||
}
|
||||
|
||||
$table = \substr($message, $pos1 + 1, $pos2 - $pos1 - 1);
|
||||
|
||||
return $table === false ? $message : $table;
|
||||
}
|
||||
}
|
||||
|
|
@ -136,6 +136,20 @@ class BernoulliDistribution
|
|||
return $p * (1 - $p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $p Value p
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $p) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($p));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -78,6 +78,21 @@ class BetaDistribution
|
|||
return $alpha * $beta / (($alpha + $beta) ** 2 * ($alpha + $beta + 1));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $alpha Alpha
|
||||
* @param float $beta Beta
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $alpha, float $beta) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($alpha, $beta));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get skewness.
|
||||
*
|
||||
|
|
@ -123,7 +138,7 @@ class BetaDistribution
|
|||
public static function getMgf(float $t, float $alpha, float $beta) : float
|
||||
{
|
||||
$sum = 0;
|
||||
for ($k = 1; $k < 100000; ++$k) {
|
||||
for ($k = 1; $k < 20; ++$k) {
|
||||
$product = 1;
|
||||
for ($r = 0; $r < $k - 1; ++$r) {
|
||||
$product *= ($alpha + $r) / ($alpha + $beta + $r);
|
||||
|
|
|
|||
|
|
@ -187,4 +187,19 @@ class BinomialDistribution
|
|||
{
|
||||
return $n * $p * (1 - $p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param int $n Value n
|
||||
* @param float $p Value p
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(int $n, float $p) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($n, $p));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -219,6 +219,20 @@ class ChiSquaredDistribution
|
|||
return 2 * $df;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param int $df Degrees of freedom
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(int $df) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($df));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -108,6 +108,20 @@ class ExponentialDistribution
|
|||
return \pow($lambda, -2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $lambda Lambda
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $lambda) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($lambda));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -76,6 +76,21 @@ class FDistribution
|
|||
/ ($d1 * ($d2 - 2) ** 2 * ($d2 - 4));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param int $d1 Degree of freedom
|
||||
* @param int $d2 Degree of freedom
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(int $d1, int $d2) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($d1, $d2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get skewness.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -160,6 +160,21 @@ class GammaDistribution
|
|||
return $k * $theta ** 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $k k shape
|
||||
* @param float $theta Theta scale
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviationK(float $k, float $theta) : float
|
||||
{
|
||||
return \sqrt(self::getVarianceK($k, $theta));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get variance.
|
||||
*
|
||||
|
|
@ -175,6 +190,21 @@ class GammaDistribution
|
|||
return $alpha / ($beta ** 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $alpha Alpha shape
|
||||
* @param float $beta Beta scale
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviationAlphaBeta(float $alpha, float $beta) : float
|
||||
{
|
||||
return \sqrt(self::getVarianceAlphaBeta($alpha, $beta));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -108,6 +108,20 @@ class GeometricDistribution
|
|||
return (1 - $p) / $p ** 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $p Value p
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $p) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($p));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class HypergeometricDistribution
|
|||
* @param int $N Population size
|
||||
* @param int $n Number of draws
|
||||
*
|
||||
* @return int
|
||||
* @return float
|
||||
*
|
||||
* @todo: this can be heavily optimized
|
||||
*
|
||||
|
|
@ -98,6 +98,24 @@ class HypergeometricDistribution
|
|||
return $n * $K / $N * ($N - $K) / $N * ($N - $n) / ($N - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param int $K Successful states in the population
|
||||
* @param int $N Population size
|
||||
* @param int $n Number of draws
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @todo: this can be heavily optimized
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(int $K, int $N, int $n) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($K, $N, $n));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get skewness.
|
||||
*
|
||||
|
|
@ -105,7 +123,7 @@ class HypergeometricDistribution
|
|||
* @param int $N Population size
|
||||
* @param int $n Number of draws
|
||||
*
|
||||
* @return int
|
||||
* @return float
|
||||
*
|
||||
* @todo: this can be heavily optimized
|
||||
*
|
||||
|
|
@ -124,7 +142,7 @@ class HypergeometricDistribution
|
|||
* @param int $N Population size
|
||||
* @param int $n Number of draws
|
||||
*
|
||||
* @return int
|
||||
* @return float
|
||||
*
|
||||
* @todo: this can be heavily optimized
|
||||
*
|
||||
|
|
@ -132,7 +150,7 @@ class HypergeometricDistribution
|
|||
*/
|
||||
public static function getExKurtosis(int $K, int $N, int $n) : float
|
||||
{
|
||||
return 1 / ($n * $K * ($N - $K) * ($N - $n) * ($N - 2) * ($N - 3))
|
||||
* (($N - 1) * $N ** 2 * ($N * ($N + 1) - 6 * $K * ($N - $K) - 6 * $n * ($N - $n)) + 6 * $n * $K * ($N - $K) * ($N - $n) * (5 * $N - 6));
|
||||
return (($N - 1) * $N ** 2 * ($N * ($N + 1) - 6 * $K * ($N - $K) - 6 * $n * ($N - $n)) + 6 * $n * $K * ($N - $K) * ($N - $n) * (5 * $N - 6))
|
||||
/ ($n * $K * ($N - $K) * ($N - $n) * ($N - 2) * ($N - 3));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,6 +112,20 @@ class LaplaceDistribution
|
|||
return 2 * $b ** 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $b Value b
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $b) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($b));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -79,6 +79,20 @@ class LogDistribution
|
|||
/ ((1 - $p) ** 2 * \log(1 - $p) ** 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $p Value p
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $p) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($p));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class LogNormalDistribution
|
|||
* Get expected value.
|
||||
*
|
||||
* @param float $mu Mu
|
||||
* @param float $sigma Sigma
|
||||
* @param float $sigma Sigma = standard deviation
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
|
|
@ -99,6 +99,21 @@ class LogNormalDistribution
|
|||
return (\exp($sigma ** 2) - 1) * \exp(2 * $mu + $sigma ** 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $mu Mu
|
||||
* @param float $sigma Sigma
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $mu, float $sigma) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($mu, $sigma));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get skewness.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -112,6 +112,20 @@ class LogisticDistribution
|
|||
return $s ** 2 * \M_PI ** 2 / 3;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $s s scale
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $s) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($s));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get skewness.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -133,6 +133,20 @@ class NormalDistribution
|
|||
return $sig ** 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $sig Sigma
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $sig) : float
|
||||
{
|
||||
return $sig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -55,6 +55,21 @@ class ParetoDistribution
|
|||
return 1 - ($xm / $x) ** $alpha;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get expected value.
|
||||
*
|
||||
* @param float $xm Lower bound
|
||||
* @param float $alpha Alpha shape
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getMean(float $xm, float $alpha) : float
|
||||
{
|
||||
return $alpha > 1 ? $alpha * $xm / ($alpha - 1) : \PHP_FLOAT_MAX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get median
|
||||
*
|
||||
|
|
@ -96,11 +111,22 @@ class ParetoDistribution
|
|||
*/
|
||||
public static function getVariance(float $xm, float $alpha) : float
|
||||
{
|
||||
if ($alpha < 2) {
|
||||
return \PHP_FLOAT_MAX;
|
||||
}
|
||||
return $alpha < 3 ? \PHP_FLOAT_MAX : $xm ** 2 * $alpha / (($alpha - 1) ** 2 * ($alpha - 2));
|
||||
}
|
||||
|
||||
return $xm ** 2 * $alpha / (($alpha - 1) ** 2 * ($alpha - 2));
|
||||
/**
|
||||
* Get standard deviation
|
||||
*
|
||||
* @param float $xm Lower bound
|
||||
* @param float $alpha Alpha shape
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $xm, float $alpha) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($xm, $alpha));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -114,11 +140,7 @@ class ParetoDistribution
|
|||
*/
|
||||
public static function getSkewness(float $alpha) : float
|
||||
{
|
||||
if ($alpha < 4) {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
return 2 * (1 + $alpha) / ($alpha - 3) * \sqrt(($alpha - 2) / $alpha);
|
||||
return $alpha < 4 ? 0.0 : 2 * (1 + $alpha) / ($alpha - 3) * \sqrt(($alpha - 2) / $alpha);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -121,6 +121,20 @@ class PoissonDistribution
|
|||
return $lambda;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $lambda Lambda
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $lambda) : float
|
||||
{
|
||||
return \sqrt($lambda);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get moment generating function.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class TDistribution
|
|||
/**
|
||||
* Get expected value.
|
||||
*
|
||||
* @return float
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
@ -83,10 +83,34 @@ class TDistribution
|
|||
*/
|
||||
public static function getVariance(int $nu) : float
|
||||
{
|
||||
if ($nu < 2) {
|
||||
return \PHP_FLOAT_MAX;
|
||||
}
|
||||
return $nu < 3 ? \PHP_FLOAT_MAX : $nu / ($nu - 2);
|
||||
}
|
||||
|
||||
return $nu / ($nu - 2);
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param int $nu Degrees of freedom
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(int $nu) : float
|
||||
{
|
||||
return $nu < 3 ? \PHP_FLOAT_MAX : \sqrt(self::getVariance($nu));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Ex. kurtosis.
|
||||
*
|
||||
* @param float $nu Degrees of freedom
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getExKurtosis(float $nu) : float
|
||||
{
|
||||
return $nu < 5 && $nu > 2 ? \PHP_FLOAT_MAX : 6 / ($nu - 4);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,4 +162,19 @@ class UniformDistributionContinuous
|
|||
{
|
||||
return 1 / 12 * ($b - $a) ** 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $a Value a
|
||||
* @param float $b Value b
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $a, float $b) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($a, $b));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,4 +151,19 @@ class UniformDistributionDiscrete
|
|||
{
|
||||
return (($b - $a + 1) ** 2 - 1) / 12;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get standard deviation.
|
||||
*
|
||||
* @param float $a Value a
|
||||
* @param float $b Value b
|
||||
*
|
||||
* @return float
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getStandardDeviation(float $a, float $b) : float
|
||||
{
|
||||
return \sqrt(self::getVariance($a, $b));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,11 +36,7 @@ class WeibullDistribution
|
|||
*/
|
||||
public static function getPdf(float $x, float $lambda, float $k) : float
|
||||
{
|
||||
if ($x < 0) {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
return $k / $lambda * \pow($x / $lambda, $k - 1) * \exp(-($x / $lambda) ** $k);
|
||||
return $x < 0.0 ? 0.0 : $k / $lambda * \pow($x / $lambda, $k - 1) * \exp(-($x / $lambda) ** $k);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -56,11 +52,7 @@ class WeibullDistribution
|
|||
*/
|
||||
public static function getCdf(float $x, float $lambda, float $k) : float
|
||||
{
|
||||
if ($x < 0) {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
return 1 - \exp(-($x / $lambda) ** $k);
|
||||
return $x < 0.0 ? 0.0 : 1 - \exp(-($x / $lambda) ** $k);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace phpOMS\tests\DataStorage\Database;
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabaseExceptionFactory;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class DatabaseExceptionFactoryTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testException() : void
|
||||
{
|
||||
self::assertEquals('\PDOException', DatabaseExceptionFactory::createException(new \PDOException()));
|
||||
}
|
||||
|
||||
public function testExceptionMessage() : void
|
||||
{
|
||||
self::assertEquals('', DatabaseExceptionFactory::createExceptionMessage(new \PDOException()));
|
||||
}
|
||||
}
|
||||
|
|
@ -14,13 +14,15 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\DataStorage\Database\Query;
|
||||
|
||||
use phpOMS\DataStorage\Database\Query\Expression;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class ExpressionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testDefault() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertInstanceOf('\phpOMS\DataStorage\Database\Query\Builder', new Expression($GLOBALS['dbpool']->get()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace phpOMS\tests\DataStorage\Database\Schema\Exception;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class TableExceptionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
}
|
||||
}
|
||||
|
|
@ -184,6 +184,7 @@ class MatrixTest extends \PHPUnit\Framework\TestCase
|
|||
public function testReduce() : void
|
||||
{
|
||||
self::assertEquals([[-6, -7], [0, -5]], $this->C->upperTriangular()->getMatrix());
|
||||
self::markTestIncomplete();
|
||||
//self::assertEquals([], $this->C->lowerTriangular()->getMatrix());
|
||||
//self::assertEquals([], $this->C->diagonalize()->getMatrix());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,14 @@ class BernoulliDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEqualsWithDelta($p * $q, BernoulliDistribution::getVariance($p), 0.01);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$p = 0.3;
|
||||
$q = 1 - $p;
|
||||
|
||||
self::assertEqualsWithDelta(\sqrt($p * $q), BernoulliDistribution::getStandardDeviation($p), 0.01);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
$p = 0.3;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,45 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\BetaDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class BetaDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testMean() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEquals(1 / 2, BetaDistribution::getMean(2.0, 2.0));
|
||||
}
|
||||
|
||||
public function testMode() : void
|
||||
{
|
||||
self::assertEquals(1 / 2, BetaDistribution::getMode(2.0, 2.0));
|
||||
self::assertEqualsWithDelta(0.2, BetaDistribution::getMode(2.0, 5.0), 0.1);
|
||||
self::assertEquals(0.0, BetaDistribution::getMode(1.0, 2.0));
|
||||
self::assertEquals(1.0, BetaDistribution::getMode(1.0, 1.0));
|
||||
}
|
||||
|
||||
public function testVariance() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(1 / 20, BetaDistribution::getVariance(2.0, 2.0), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(1 / 20), BetaDistribution::getStandardDeviation(2.0, 2.0), 0.001);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0, BetaDistribution::getSkewness(2.0, 2.0), 0.001);
|
||||
self::assertEqualsWithDelta(0.565685, BetaDistribution::getSkewness(1.0, 2.0), 0.001);
|
||||
self::assertEqualsWithDelta(-0.565685, BetaDistribution::getSkewness(2.0, 1.0), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(-6 / 7, BetaDistribution::getExKurtosis(2.0, 2.0), 0.001);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,14 @@ class BinomialDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEqualsWithDelta($n * $p * (1 - $p), BinomialDistribution::getVariance($n, $p), 0.01);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$n = 20;
|
||||
$p = 0.4;
|
||||
|
||||
self::assertEqualsWithDelta(\sqrt($n * $p * (1 - $p)), BinomialDistribution::getStandardDeviation($n, $p), 0.01);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
$n = 20;
|
||||
|
|
|
|||
|
|
@ -67,6 +67,13 @@ class ChiSquaredDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals(2 * $df, ChiSquaredDistribution::getVariance($df));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$df = 5;
|
||||
|
||||
self::assertEquals(\sqrt(2 * $df), ChiSquaredDistribution::getStandardDeviation($df));
|
||||
}
|
||||
|
||||
public function testMedian() : void
|
||||
{
|
||||
$df = 5;
|
||||
|
|
|
|||
|
|
@ -65,6 +65,11 @@ class ExponentialDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals(1/(3 ** 2), ExponentialDistribution::getVariance(3));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEquals(\sqrt(1/(3 ** 2)), ExponentialDistribution::getStandardDeviation(3));
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEquals(6, ExponentialDistribution::getExKurtosis());
|
||||
|
|
|
|||
|
|
@ -14,13 +14,41 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\GammaDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class GammaDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testPDFIntegerK() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEqualsWithDelta(\exp(-1), GammaDistribution::getPdfIntegerK(1, 1, 1), 0.001);
|
||||
self::assertEqualsWithDelta(3 * \exp(-3/4) / 16, GammaDistribution::getPdfIntegerK(3, 2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testMeanK() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(8, GammaDistribution::getMeanK(2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testVarianceK() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(32, GammaDistribution::getVarianceK(2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviationK() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(32), GammaDistribution::getStandardDeviationK(2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(3, GammaDistribution::getExKurtosis(2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(2), GammaDistribution::getSkewness(2, 4), 0.001);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,13 @@ class GeometricDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals((1 - $p) / $p ** 2, GeometricDistribution::getVariance($p));
|
||||
}
|
||||
|
||||
public function testgetStandardDeviation() : void
|
||||
{
|
||||
$p = 0.3;
|
||||
|
||||
self::assertEquals(\sqrt((1 - $p) / $p ** 2), GeometricDistribution::getStandardDeviation($p));
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
$p = 0.3;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,35 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\HypergeometricDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class HypergeometricDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testMean() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEquals(9, HypergeometricDistribution::getMean(15, 20, 12));
|
||||
}
|
||||
|
||||
public function testVariance() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0.973328526784575 ** 2, HypergeometricDistribution::getVariance(15, 20, 12), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0.973328526784575, HypergeometricDistribution::getStandardDeviation(15, 20, 12), 0.001);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0.114156, HypergeometricDistribution::getSkewness(15, 20, 12), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(-0.247277, HypergeometricDistribution::getExKurtosis(15, 20, 12), 0.001);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,13 @@ class LaplaceDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals(2 * $b ** 2, LaplaceDistribution::getVariance($b));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$b = 3;
|
||||
|
||||
self::assertEquals(\sqrt(2 * $b ** 2), LaplaceDistribution::getStandardDeviation($b));
|
||||
}
|
||||
|
||||
public function testMgf() : void
|
||||
{
|
||||
$t = 2;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,41 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\LogNormalDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class LogNormalDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testPdf() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEqualsWithDelta(0.060069054, LogNormalDistribution::getPdf(3, 2, 2), 0.001);
|
||||
}
|
||||
|
||||
public function testMean() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\exp(13/2), LogNormalDistribution::getMean(2, 3), 0.001);
|
||||
}
|
||||
|
||||
public function testVariance() : void
|
||||
{
|
||||
self::assertEqualsWithDelta((\exp(9) - 1) * \exp(13), LogNormalDistribution::getVariance(2, 3), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\exp(13/2) * \sqrt(\exp(9) - 1), LogNormalDistribution::getStandardDeviation(2, 3), 0.001);
|
||||
self::assertEqualsWithDelta(\sqrt((\exp(9) - 1) * \exp(13)), LogNormalDistribution::getStandardDeviation(2, 3), 0.001);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(\exp(9) - 1) * (\exp(9) + 2), LogNormalDistribution::getSkewness(3), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\exp(16) + 2 * \exp(12) + 3 * \exp(8) - 6, LogNormalDistribution::getExKurtosis(2), 0.001);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,4 +76,11 @@ class NormalDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
self::assertEquals($sig ** 2, NormalDistribution::getVariance($sig));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$sig = 0.8;
|
||||
|
||||
self::assertEquals($sig, NormalDistribution::getStandardDeviation($sig));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,49 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\ParetoDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class ParetoDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testPdf() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEqualsWithDelta(0.263374485596, ParetoDistribution::getPdf(3, 2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testCdf() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0.8024691358, ParetoDistribution::getCdf(3, 2, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testMean() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(8 / 3, ParetoDistribution::getMean(2, 4), 0.001);
|
||||
self::assertEquals(\PHP_FLOAT_MAX, ParetoDistribution::getMean(2, 1));
|
||||
}
|
||||
|
||||
public function testVariance() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(2, ParetoDistribution::getVariance(3, 4), 0.001);
|
||||
self::assertEqualsWithDelta(\PHP_FLOAT_MAX, ParetoDistribution::getVariance(3, 2), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(2), ParetoDistribution::getStandardDeviation(3, 4), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(35.666666666666664, ParetoDistribution::getExKurtosis(6, 5), 0.001);
|
||||
self::assertEquals(0.0, ParetoDistribution::getExKurtosis(4));
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(3.810317377662722, ParetoDistribution::getSkewness(6, 5), 0.001);
|
||||
self::assertEquals(0.0, ParetoDistribution::getSkewness(3));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,6 +58,13 @@ class PoissonDistributionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals($l, PoissonDistribution::getVariance($l));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$l = 4.6;
|
||||
|
||||
self::assertEquals(\sqrt($l), PoissonDistribution::getStandardDeviation($l));
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
$l = 4.6;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,48 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\TDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class TDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testMean() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEquals(0, TDistribution::getMean());
|
||||
}
|
||||
|
||||
public function testMedian() : void
|
||||
{
|
||||
self::assertEquals(0, TDistribution::getMedian());
|
||||
}
|
||||
|
||||
public function testMode() : void
|
||||
{
|
||||
self::assertEquals(0, TDistribution::getMode());
|
||||
}
|
||||
|
||||
public function testVariance() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(5/3, TDistribution::getVariance(5), 0.001);
|
||||
self::assertEqualsWithDelta(\PHP_FLOAT_MAX, TDistribution::getVariance(2), 0.001);
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(\sqrt(5/3), TDistribution::getStandardDeviation(5), 0.001);
|
||||
self::assertEqualsWithDelta(\PHP_FLOAT_MAX, TDistribution::getStandardDeviation(2), 0.001);
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(6, TDistribution::getExKurtosis(5), 0.001);
|
||||
self::assertEqualsWithDelta(\PHP_FLOAT_MAX, TDistribution::getExKurtosis(3), 0.001);
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEquals(0, TDistribution::getSkewness());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,6 +80,14 @@ class UniformDistributionContinuousTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals(1 / 12 * ($b - $a) ** 2, UniformDistributionContinuous::getVariance($a, $b));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$a = 1;
|
||||
$b = 4;
|
||||
|
||||
self::assertEquals(\sqrt(1 / 12 * ($b - $a) ** 2), UniformDistributionContinuous::getStandardDeviation($a, $b));
|
||||
}
|
||||
|
||||
public function testSkewness() : void
|
||||
{
|
||||
self::assertEquals(0, UniformDistributionContinuous::getSkewness());
|
||||
|
|
|
|||
|
|
@ -67,6 +67,14 @@ class UniformDistributionDiscreteTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals((($b - $a + 1) ** 2 - 1) / 12, UniformDistributionDiscrete::getVariance($a, $b));
|
||||
}
|
||||
|
||||
public function testStandardDeviation() : void
|
||||
{
|
||||
$a = 1;
|
||||
$b = 4;
|
||||
|
||||
self::assertEquals(\sqrt((($b - $a + 1) ** 2 - 1) / 12), UniformDistributionDiscrete::getStandardDeviation($a, $b));
|
||||
}
|
||||
|
||||
public function testExKurtosis() : void
|
||||
{
|
||||
$a = 1;
|
||||
|
|
|
|||
|
|
@ -14,13 +14,22 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Math\Stochastic\Distribution;
|
||||
|
||||
use phpOMS\Math\Stochastic\Distribution\WeibullDistribution;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class WeibullDistributionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testPdf() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertEqualsWithDelta(0.213668559, WeibullDistribution::getPdf(3, 4, 2), 0.001);
|
||||
self::assertEqualsWithDelta(0.0, WeibullDistribution::getPdf(-1, 4, 2), 0.001);
|
||||
}
|
||||
|
||||
public function testCdf() : void
|
||||
{
|
||||
self::assertEqualsWithDelta(0.430217175, WeibullDistribution::getCdf(3, 4, 2), 0.001);
|
||||
self::assertEqualsWithDelta(0.0, WeibullDistribution::getCdf(-1, 4, 2), 0.001);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,15 @@ declare(strict_types=1);
|
|||
|
||||
namespace phpOMS\tests\Stdlib\Base;
|
||||
|
||||
use phpOMS\Stdlib\Base\NullLocation;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class NullLocationTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testPlaceholder() : void
|
||||
public function testNullLocation() : void
|
||||
{
|
||||
self::markTestIncomplete();
|
||||
self::assertInstanceOf('\phpOMS\Stdlib\Base\Location', new NullLocation());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user