diff --git a/Config/reportLang.php b/Config/reportLang.php index 1783ed4..4e869f6 100644 --- a/Config/reportLang.php +++ b/Config/reportLang.php @@ -810,13 +810,43 @@ return [ 'phpOMS\tests\Math\Geometry\Shape\D2\TriangleTest:testHeight' => ['description' => 'The height can be calculated', 'type' => 'framework'], 'phpOMS\tests\Math\Geometry\Shape\D2\TriangleTest:testHypot' => ['description' => 'The hypotenuse can be calculated', 'type' => 'framework'], - 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest' => ['description' => 'Triangle shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest' => ['description' => 'Cone shape', 'type' => 'framework'], 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest:testSlantHeight' => ['description' => 'The slant height can be calculated', 'type' => 'framework'], 'phpOMS\tests\Math\Geometry\Shape\D3\ConeTest:testHeightFromVolume' => ['description' => 'The height can be calculated with the volume', 'type' => 'framework'], - // todo: many math things!!! + 'phpOMS\tests\Math\Geometry\Shape\D3\CuboidTest' => ['description' => 'Cuboid shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\CuboidTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\CuboidTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + + 'phpOMS\tests\Math\Geometry\Shape\D3\CylinderTest' => ['description' => 'Cylinder shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\CylinderTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\CylinderTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\CylinderTest:testLateralSurface' => ['description' => 'The lateral surface can be calculated', 'type' => 'framework'], + + 'phpOMS\tests\Math\Geometry\Shape\D3\PrismTest' => ['description' => 'Prism shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\PrismTest:testVolumeByLength' => ['description' => 'The volume can be calculated with the length', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\PrismTest:testVolumeByRadius' => ['description' => 'The volume can be calculated with the radius', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\PrismTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + + 'phpOMS\tests\Math\Geometry\Shape\D3\RectangularPyramidTest' => ['description' => 'Rectangular pyramid shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\RectangularPyramidTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\RectangularPyramidTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\RectangularPyramidTest:testLateralSurface' => ['description' => 'The lateral surface can be calculated', 'type' => 'framework'], + + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest' => ['description' => 'Sphere shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testDistanceOnSphere' => ['description' => 'The distance on a sphere can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testGetSphereByRadius' => ['description' => 'The sphere can be created by its radius', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testGetSphereByVolume' => ['description' => 'The sphere can be created by its volume', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\SphereTest:testGetSphereBySurface' => ['description' => 'The sphere can be created by its surface', 'type' => 'framework'], + + 'phpOMS\tests\Math\Geometry\Shape\D3\TetrahedronTest' => ['description' => 'Tetrahedron shape', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\TetrahedronTest:testVolume' => ['description' => 'The volume can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\TetrahedronTest:testSurface' => ['description' => 'The surface can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Geometry\Shape\D3\TetrahedronTest:testFaceArea' => ['description' => 'The face area can be calculated', 'type' => 'framework'], 'phpOMS\tests\Math\Matrix\MatrixTest' => ['description' => 'Matrix operations'], 'phpOMS\tests\Math\Matrix\MatrixTest:testBase' => ['description' => 'A matrix can return its dimension', 'type' => 'framework'], @@ -844,10 +874,110 @@ return [ 'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidDimensionSub' => ['description' => 'Subtracting a matrix from a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'], 'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidDimensionMult' => ['description' => 'SMultiplicating a matrix with a different n x m dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\IdentityMatrixTest' => ['description' => 'Matrix operations'], + 'phpOMS\tests\Math\Matrix\IdentityMatrixTest:testIdentity' => ['description' => 'The identity matrix is the identity', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\VectorTest' => ['description' => 'Vector operations'], 'phpOMS\tests\Math\Matrix\VectorTest:testDefault' => ['description' => 'The vector has the expected default values after initialization', 'type' => 'framework'], 'phpOMS\tests\Math\Matrix\VectorTest:testValueInputOutput' => ['description' => 'The vector values can be set and returned', 'type' => 'framework'], - 'phpOMS\tests\Math\Matrix\VectorTest:testDim' => ['description' => 'The vector dimension can be returned', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\VectorTest:testDim' => ['description' => 'A invalid vector throws a InvalidDimensionException', 'type' => 'framework'], + + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest' => ['description' => 'Cholesky decomposition'], + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest:testDecomposition' => ['description' => 'The decomposition can be created and the original matrix can be computed', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest:testL' => ['description' => 'The decomposition matrix has the expected values', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest:testSymmetricPositive' => ['description' => 'A matrix can be checked for symmetric positivity', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest:testSolve' => ['description' => 'The equation Ax = b can be solved', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\CholeskyDecompositionTest:testInvalidDimension' => ['description' => 'A invalid vector throws a InvalidDimensionException', 'type' => 'framework'], + + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition' => ['description' => 'Eigenvalue decomposition'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testSymmetricSymmetryMatrix' => ['description' => 'A matrix can be checked for symmetry', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testSymmetricMatrixEigenvalues' => ['description' => 'The eigenvalues can be calculated for a symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testSymmetricMatrixV' => ['description' => 'The V matrix of the decomposition can be calculated for a symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testSymmetricMatrixD' => ['description' => 'The D matrix of the decomposition can be calculated for a symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testNonSymmetricMatrixEigenvalues' => ['description' => 'The eigenvalues can be calculated for a none-symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testNonSymmetricMatrixV' => ['description' => 'The V matrix of the decomposition can be calculated for a none-symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testNonSymmetricMatrixD' => ['description' => 'The D matrix of the decomposition can be calculated for a none-symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testCompositeSymmetric' => ['description' => 'The decomposition can be created and the original matrix can be computed for a symmetric matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\EigenvalueDecomposition:testCompositeNonSymmetric' => ['description' => 'The decomposition can be created and the original matrix can be computed for a none-symmetric matrix', 'type' => 'framework'], + + 'phpOMS\tests\Math\Matrix\LUDecompositionTest' => ['description' => 'LU decomposition'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testL' => ['description' => 'The L matrix of the decomposition can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testU' => ['description' => 'The U matrix of the decomposition can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testSingularity' => ['description' => 'The matrix can be checked for singularity', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testSolve' => ['description' => 'The equation Ax = b can be solved for a none-singular matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testSolveOfSingularMatrix' => ['description' => 'The equation Ax = b can be solved for a singular matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testPivot' => ['description' => 'The pivots of the decomposition can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testComposition' => ['description' => 'The decomposition can be created and the original matrix can be computed', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\LUDecompositionTest:testInvalidDimension' => ['description' => 'A invalid vector throws a InvalidDimensionException', 'type' => 'framework'], + + 'phpOMS\tests\Math\Matrix\QRDecompositionTest' => ['description' => 'QR decomposition'], + 'phpOMS\tests\Math\Matrix\QRDecompositionTest:testRank' => ['description' => 'A matrix can be checked if it has a full rank', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\QRDecompositionTest:testQ' => ['description' => 'The Q matrix of the decomposition can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\QRDecompositionTest:testR' => ['description' => 'The R matrix of the decomposition can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\QRDecompositionTest:testComposition' => ['description' => 'The decomposition can be created and the original matrix can be computed', 'type' => 'framework'], + 'phpOMS\tests\Math\Matrix\QRDecompositionTest:testSolve' => ['description' => 'The equation Ax = b can be solved', 'type' => 'framework'], + + 'phpOMS\tests\Math\Number\ComplexTest' => ['description' => 'Complex number operations'], + 'phpOMS\tests\Math\Number\ComplexTest:testDefault' => ['description' => 'The complex number has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testConstructorInputOutput' => ['description' => 'The real and imaginary part can be set during initialization and returned', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testAddComplex' => ['description' => 'A complex number can be added to a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testAddReal' => ['description' => 'A real number can be added to a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testSubComplex' => ['description' => 'A complex number can be subtracted from a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testSubReal' => ['description' => 'A real number can be subtracted from a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testMultComplex' => ['description' => 'A complex number can be multiplicated with a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testMultReal' => ['description' => 'A real number can be multiplicated with a complex number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testDivComplex' => ['description' => 'A complex number can be devided by a complex number number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testDivReal' => ['description' => 'A complex number can be devided by a real number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testConjugate' => ['description' => 'A complex number can be conjugated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testReciprocal' => ['description' => 'The reciprocal of a complex number can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testSquare' => ['description' => 'A complex number can be squared', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testPower' => ['description' => 'The real power of a complex number can be caluclated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testAbs' => ['description' => 'The absolute value of a complex number can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testSqrt' => ['description' => 'The square root of a complex number can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testInvalidAdd' => ['description' => 'A invalid type addition throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testInvalidSub' => ['description' => 'A invalid type subtraction throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testInvalidMult' => ['description' => 'A invalid type cannot multiplication throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testInvalidDiv' => ['description' => 'A invalid type division throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\ComplexTest:testInvalidPow' => ['description' => 'The power of a invalid type throws a InvalidArgumentException', 'type' => 'framework'], + + 'phpOMS\tests\Math\Number\IntegerTest' => ['description' => 'Integer operations'], + 'phpOMS\tests\Math\Number\IntegerTest:testIsInteger' => ['description' => 'A value can be checked to be an intager', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\IntegerTest:testFactorization' => ['description' => 'An integer can be factorized', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\IntegerTest:testPollardsRho' => ['description' => 'The Pollard\'s Roh algorithm calculates a factor of an integer', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\IntegerTest:testFermatFactor' => ['description' => 'The Fermat factorization calculates a factor of an integer', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\IntegerTest:testInvalidFermatParameter' => ['description' => 'A even number for the fermat factorization throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\IntegerTest:testGCD' => ['description' => 'The greatest common divisor can be calculated', 'type' => 'framework'], + + 'phpOMS\tests\Math\Number\NaturalTest' => ['description' => 'Natural number operations'], + 'phpOMS\tests\Math\Number\NaturalTest:testIsNatural' => ['description' => 'A number can be checked to be natural', 'type' => 'framework'], + + 'phpOMS\tests\Math\Number\NumbersTest' => ['description' => 'General number utilities'], + 'phpOMS\tests\Math\Number\NumbersTest:testPerfect' => ['description' => 'A number can be checked to be perfect', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\NumbersTest:testSelfdescribing' => ['description' => 'A number can be checked to be self-describing', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\NumbersTest:testSquare' => ['description' => 'A number can be checked to be squared', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\NumbersTest:testZeroCounting' => ['description' => 'The amount of trailing zeros can be counted', 'type' => 'framework'], + + 'phpOMS\tests\Math\Number\PrimeTest' => ['description' => 'Prime number utilities'], + 'phpOMS\tests\Math\Number\PrimeTest:testPrime' => ['description' => 'A number can be checked to be a prime number', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\PrimeTest:testSieve' => ['description' => 'A prime number can be generat3ed with the sieve of erathosthenes', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\PrimeTest:testRabin' => ['description' => 'A number can be checked to be prime with the rabin test', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\PrimeTest:testMersenne' => ['description' => 'Mersenne numbers can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Number\PrimeTest:testIsMersenne' => ['description' => 'A number can be checked to be a mersenne number', 'type' => 'framework'], + + 'phpOMS\tests\Math\Topology\Metrics2DTest' => ['description' => 'Metric/distance calculations'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testManhattan' => ['description' => 'The manhattan distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testEuclidean' => ['description' => 'The euclidean distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testChebyshev' => ['description' => 'The chebyshev distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testMinkowski' => ['description' => 'The minkowski distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testCanberra' => ['description' => 'The canberra distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testBrayCurtis' => ['description' => 'The bray-curtis distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testAngularSeparation' => ['description' => 'The angular distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testHammingDistance' => ['description' => 'The hamming distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testUlam' => ['description' => 'The ulam distance can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testInvalidHammingDimension' => ['description' => 'Different dimension sizes for the coordinates in the hamming metric throw a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\Topology\Metrics2DTest:testInvalidUlamDimension' => ['description' => 'Different dimension sizes for the coordinates in the ulam metric throw a InvalidDimensionException', 'type' => 'framework'], + + // todo: stochastics 'phpOMS\tests\Math\Numerics\Interpolation\CubicSplineInterpolationTest' => ['description' => 'Cubic spline interpolation'], 'phpOMS\tests\Math\Numerics\Interpolation\CubicSplineInterpolationTest:testInterpolationFirstDerivative' => ['description' => 'The spline interpolation using the first derivative is correct', 'type' => 'framework'], @@ -1046,10 +1176,16 @@ return [ 'phpOMS\tests\Module\ModuleManagerTest:testUnknownModuleInit' => ['description' => 'Invalid module initializations returns a null module', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleManagerTest:testUnknownModuleGet' => ['description' => 'Unknown modules return a null module', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleManagerTest:testUnknwonModuleStatusChange' => ['description' => 'Unknown modules cannot get activested, deactivated', 'type' => 'framework'], - 'phpOMS\tests\Module\ModuleManagerTest:testActiveModules' => ['description' => 'Active modules can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testStatus' => ['description' => 'A module can be installed and its status can be changed', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testReInit' => ['description' => 'A module can be re-initialized', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testRequestLoad' => ['description' => 'A module is automatically loaded for its URIs', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testAllActiveModules' => ['description' => 'Active modules can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testActiveModule' => ['description' => 'Modules can be checked to be active', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testRunningModule' => ['description' => 'Modules can be checked to be running', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleManagerTest:testAllModules' => ['description' => 'All available modules can be returned', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleManagerTest:testInstalledModules' => ['description' => 'Installed modules can be returned', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleManagerTest:testAdminModule' => ['description' => 'The valid module can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testUninstall' => ['description' => 'A module can be uninstalled', 'type' => 'framework'], 'phpOMS\tests\Module\ModuleAbstractTest' => ['description' => 'Abstract module'], 'phpOMS\tests\Module\ModuleAbstractTest:testConstants' => ['description' => 'The constant values of the abstract module are overwritten by the extension', 'type' => 'framework'],