fixed testreport generation

This commit is contained in:
Dennis Eichhorn 2019-11-24 10:44:16 +01:00
parent 8dfbc8b7bf
commit ae85350508
5 changed files with 166 additions and 36 deletions

View File

@ -37,9 +37,10 @@ return [
':structure_link_9' => 'Disclaimer',
':objective' => 'Objective',
':objective_desc_1' => 'The objective of this report is to provide important information to users and auditors in order to check and re-validate the correctness and quality of the tested software. In this automatically generated report you can confirm if the functionality of the tested software is ensured. This is especially important and helpful for software updates and major version changes. By providing these test reports we hope to help customers, partners and auditors with their software validation processes due to internal or external requirements.',
':testing_description' => 'Description',
':testing_process' => 'Testing Process',
':testing_process_desc_1' => 'Our goal is to provide as many and comprehensive tests as possible in order to ensure risks As Low As Reasonably Possible (ALARP). The tests we create can be categorized into multiple non-exclusive categories such as:',
':testing_process_list_1' => 'Unit Test vs. Integration Test vs. Static Tests',
':testing_process_list_1' => 'Unit Tests vs. Integration Tests vs. System Tests vs. Static Tests vs. Code Style',
':testing_process_list_2' => 'Frontend vs. Backend',
':testing_process_list_3' => 'Internal vs. 3rd Party',
':testing_process_list_4' => 'Framework vs. Library vs. Module',
@ -53,6 +54,8 @@ return [
':testing_summary_desc_3' => 'Total testing time:',
':tests' => 'Tests',
':test_suits' => 'Test Suits',
':static_tests' => 'Static Tests',
':code_style' => 'Code Style',
':disclaimer' => 'Disclaimer',
':disclaimer_desc_1' => 'This test report doesn\'t provide any legal warrenty over completeness and correctness in case of damages of any kind.',
@ -670,36 +673,36 @@ return [
// todo: many math things!!!
'phpOMS\tests\Math\MatrixTest' => ['description' => 'Matrix operations'],
'phpOMS\tests\Math\MatrixTest:testBase' => ['description' => 'A matrix can return the dimension', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testMultMatrix' => ['description' => 'A matrix can be right-hand multiplicated with a matrix', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testMultMatrixScalar' => ['description' => 'A matrix can be right-hand multiplicated with a scalar', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testAddScalar' => ['description' => 'A scalar can be added to every matrix element', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testSubScalar' => ['description' => 'A scalar can be subtracted from every matrix element', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testAddMatrix' => ['description' => 'Two matrices can be added to each other', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testSubMatrix' => ['description' => 'Two matrices can be subtracted from each other', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testDet' => ['description' => 'The determinant of a matrix can be calculated', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testSymmetry' => ['description' => 'A symmetric matrix can be validated for symmetry', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidSymmetry' => ['description' => 'A none-symmetric matrix cannot be validated for symmetry', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testTranspose' => ['description' => 'A matrix can be transposed', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testSolve' => ['description' => 'A matrix equation Ax = b can be solved for x', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testRank' => ['description' => 'The rank of a matrix can be calculated', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testMatrixInputOutput' => ['description' => 'The matrix elements can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testArrayAccess' => ['description' => 'A matrix can be accessed like a 1-dimensional array', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testMatrixExtract' => ['description' => 'Sub matrices can be extracted from a matrix', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidSetIndexException' => ['description' => 'Setting a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidGetIndexException' => ['description' => 'Returning a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidSub' => ['description' => 'Subtracting a invalid data type from a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidAdd' => ['description' => 'Adding a invalid data type to a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidMult' => ['description' => 'Multiplicating a invalid data type with a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidDimensionAdd' => ['description' => 'Adding a matrix with a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\MatrixTest:testInvalidDimensionSub' => ['description' => 'Subtracting a matrix from a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\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\MatrixTest' => ['description' => 'Matrix operations'],
'phpOMS\tests\Math\Matrix\MatrixTest:testBase' => ['description' => 'A matrix can return its dimension', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testMultMatrix' => ['description' => 'A matrix can be right-hand multiplicated with a matrix', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testMultMatrixScalar' => ['description' => 'A matrix can be right-hand multiplicated with a scalar', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testAddScalar' => ['description' => 'A scalar can be added to every matrix element', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testSubScalar' => ['description' => 'A scalar can be subtracted from every matrix element', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testAddMatrix' => ['description' => 'Two matrices can be added to each other', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testSubMatrix' => ['description' => 'Two matrices can be subtracted from each other', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testDet' => ['description' => 'The determinant of a matrix can be calculated', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testSymmetry' => ['description' => 'A symmetric matrix can be validated for symmetry', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidSymmetry' => ['description' => 'A none-symmetric matrix cannot be validated for symmetry', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testTranspose' => ['description' => 'A matrix can be transposed', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testSolve' => ['description' => 'A matrix equation Ax = b can be solved for x', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testRank' => ['description' => 'The rank of a matrix can be calculated', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testMatrixInputOutput' => ['description' => 'The matrix elements can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testArrayAccess' => ['description' => 'A matrix can be accessed like a 1-dimensional array', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testMatrixExtract' => ['description' => 'Sub matrices can be extracted from a matrix', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidSetIndexException' => ['description' => 'Setting a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidGetIndexException' => ['description' => 'Returning a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidSub' => ['description' => 'Subtracting a invalid data type from a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidAdd' => ['description' => 'Adding a invalid data type to a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidMult' => ['description' => 'Multiplicating a invalid data type with a matrix throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Math\Matrix\MatrixTest:testInvalidDimensionAdd' => ['description' => 'Adding a matrix with a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'],
'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\VectorTest' => ['description' => 'Vector operations'],
'phpOMS\tests\Math\VectorTest:testDefault' => ['description' => 'The vector has the expected default values after initialization', 'type' => 'framework'],
'phpOMS\tests\Math\VectorTest:testValueInputOutput' => ['description' => 'The vector values can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Math\VectorTest:testDim' => ['description' => 'The vector dimension can be returned', '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\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'],
@ -708,7 +711,7 @@ return [
'phpOMS\tests\Math\Numerics\Interpolation\LagrangeInterpolationTest' => ['description' => 'Lagrange interpolation'],
'phpOMS\tests\Math\Numerics\Interpolation\LagrangeInterpolationTest:testInterpolation' => ['description' => 'The lagrange interpolation is correct', 'type' => 'framework'],
'phpOMS\tests\Math\Numerics\Interpolation\LinearInterpolationTest' => ['description' => 'Lagrange interpolation'],
'phpOMS\tests\Math\Numerics\Interpolation\LinearInterpolationTest' => ['description' => 'Linear interpolation'],
'phpOMS\tests\Math\Numerics\Interpolation\LinearInterpolationTest:testInterpolation' => ['description' => 'The linear interpolation is correct', 'type' => 'framework'],
'phpOMS\tests\Math\Numerics\IntegrationTest' => ['description' => 'Numeric integration'],
@ -797,7 +800,7 @@ return [
'phpOMS\tests\Math\Statistic\MeasureOfDispersionTest:testInvalidEmpiricalVariance' => ['description' => 'An empty dataset in the empirical/population variance throws a ZeroDevisionException', 'type' => 'framework'],
'phpOMS\tests\Message\HeaderAbstractTest' => ['description' => 'Abstract header for requests/responses'],
'phpOMS\tests\Message\HeaderAbstractTest:testDefaults' => ['description' => 'The the status code can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Message\HeaderAbstractTest:testStatusCodeInputOutput' => ['description' => 'The the status code can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Message\Http\HeaderTest' => ['description' => 'Header for http requests/responses'],
'phpOMS\tests\Message\Http\HeaderTest:testDefaults' => ['description' => 'The header has the expected default values after initialization', 'type' => 'framework'],
@ -986,6 +989,118 @@ return [
'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidFlags' => ['description' => 'Binary flags don\'t validate if they are not set', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidConstantException' => ['description' => 'A invalid enum name throws a OutOfBoundsException', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest' => ['description' => 'Heap'],
'phpOMS\tests\Stdlib\Base\HeapTest:testSize' => ['description' => 'Elements get correctly pushed to the heap', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testPushAndPop' => ['description' => 'Heap elements get returned in the correct order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testPushAndPopCustomComparator' => ['description' => 'Heap elements get returned in the correct order by using a custom comparator', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testArray' => ['description' => 'The heap can be turned into an array', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testReplace' => ['description' => 'Heap elements can be replaced', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testPushPop' => ['description' => 'A heap element can be returned while adding a new one', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testContains' => ['description' => 'The heap can be checked if it contains certain elements', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testPeek' => ['description' => 'The first heap element can be returned without removing it', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testNSmallest' => ['description' => 'The n smallest elements can be returned from the heap', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testNLargest' => ['description' => 'The n largest elements can be returned from the heap', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testClear' => ['description' => 'The heap can be cleared of all elements', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\HeapTest:testEmpty' => ['description' => 'The heap can be checked if it has elements', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\IbanTest' => ['description' => 'Iban type'],
'phpOMS\tests\Stdlib\Base\IbanTest:testInputOutput' => ['description' => 'A iban can be correctly parsed into its different components', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\IbanTest:testSearialization' => ['description' => 'A iban can be serialized and unserialized', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\IbanTest:testInvalidIbanCountry' => ['description' => 'A invalid iban country code throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\IbanTest:testInvalidIbanLength' => ['description' => 'A invalid iban length throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\IbanTest:testInvalidIbanChecksum' => ['description' => 'A invalid iban checksum throws a InvalidArgumentException', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest' => ['description' => 'Location type'],
'phpOMS\tests\Stdlib\Base\LocationTest:testAttributes' => ['description' => 'The location has the expected attributes', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testDefault' => ['description' => 'The location has the expected default values after initialization', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testPostalInputOutput' => ['description' => 'The postal can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testTypeInputOutput' => ['description' => 'The type can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testCityInputOutput' => ['description' => 'The city can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testCountryInputOutput' => ['description' => 'The country can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testAddressInputOutput' => ['description' => 'The address can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testStateInputOutput' => ['description' => 'The state can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testGeoInputOutput' => ['description' => 'The geo location can be set and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testArray' => ['description' => 'The location can be turned into an array', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\LocationTest:testJsonSerialize' => ['description' => 'The location can be json serialized', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest' => ['description' => 'DateTime type with additional functionality'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testAttributes' => ['description' => 'The smart datetime extends the datetime', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testFormat' => ['description' => 'The smart datetime can be formatted like the datetime', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testCreateModify' => ['description' => 'The smart datetime can be modified an creates a new smart datetime', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testDaysOfMonth' => ['description' => 'The days of the month can be returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testFirstDayOfMonth' => ['description' => 'The week day index of the first day of the month can be returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testCreateFromDateTime' => ['description' => 'A smart datetime can be created from a datetime', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testEndOfMonth' => ['description' => 'A smart datetime can be returned of the last day of the month', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testStartOfMonth' => ['description' => 'A smart datetime can be returned of the fist day of the month', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testLeapYear' => ['description' => 'A date or year can be checked if it is a leap year', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testDayOfWeek' => ['description' => 'The day of the week index can be retruned from a date', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Base\SmartDateTimeTest:testCalendarSheet' => ['description' => 'A calendar sheet is retunred containing all days of the month and some days of the previous and next month', 'type' => 'framework'],
// todo: graph
'phpOMS\tests\Stdlib\Map\MultiMapTest' => ['description' => 'Map which associates multiple keys with the same value'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testDefault' => ['description' => 'The map has the expected default values and functionality after initialization', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicAddAny' => ['description' => 'Elements with multiple optional keys can be added', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicGetAny' => ['description' => 'Elements with multiple optional keys can be returned if any of the keys matches', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testOverwriteAny' => ['description' => 'Elements can be forcefully overwritten', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidOverwriteSubkeyAny' => ['description' => 'By default elements are not overwritten', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testOverwriteCreateAny' => ['description' => 'If a element with partially matching keys is already in the map it will be only added for the new key', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidOverwriteAny' => ['description' => 'If all keys exist in the map no new element will be created', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSetByKeyAny' => ['description' => 'Values can be set/replaced by key', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidSetByKeyAny' => ['description' => 'Values cannot be set/replaced if the key doesn\'t exist', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidRemapNewAny' => ['description' => 'A key cannot be remapped to a none-existing key', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemapAny' => ['description' => 'A key can be remapped to the value of an existing key', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemapUnmapAny' => ['description' => 'If no more keys are associated with a value after a remap the value is removed from the map', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testMapKeysAny' => ['description' => 'All keys of the map can be returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testMapValuesAny' => ['description' => 'All values of the map can be returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSiblingsAny' => ['description' => 'Sibling keys can be found', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidSiblingsAny' => ['description' => 'If a key doesn\'t exist or has no siblings no siblings are returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemoveAny' => ['description' => 'A key for a value can be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemoveLastAny' => ['description' => 'If the last key of a value is removed the value is also removed from the map', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidRemoveAny' => ['description' => 'If a key doesn\'t exist it cannot be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicAddExact' => ['description' => 'Elements with multiple required keys can be added', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicGetExact' => ['description' => 'Elements with multiple required keys can be returned if all match', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicInvalidGetExact' => ['description' => 'Elements with multiple required keys cannot be returned if they don\'t match exactly', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicAddExactOrdered' => ['description' => 'Elements with multiple required and ordered keys can be added', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicGetExactOrdered' => ['description' => 'Elements with multiple required ordered keys can be if all match in the correct order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testBasicInvalidOrderedGetExact' => ['description' => 'Elements with multiple required keys cannot be returned if they don\'t match exactly in the correct order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testOverwriteExact' => ['description' => 'Elements with multiple required keys can be forcefully overwritten', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testOverwriteExactOrdered' => ['description' => 'Elements with multiple required ordered keys can be forcefully overwritten', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidAddDifferentOrderExact' => ['description' => 'An element cannot be added to for multiple required keys if the keys already exist in a different order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testOverwriteCreateExact' => ['description' => 'If a element with partially matching multiple keys is already in the map it will be only added for the new key', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testAddDifferentlyOrderedKeys' => ['description' => 'Adding differently ordered keys for multiple required keys will create a new entry in the map', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidOverwriteExact' => ['description' => 'If all keys for multiple required keys exist in the map no new element will be created', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidOverwriteExactOrdered' => ['description' => 'If all keys for multiple required ordered keys exist in the map no new element will be created', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSetByKeyExact' => ['description' => 'Values can be set/replaced by multiple required keys', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidSetByKeyExact' => ['description' => 'Values cannot be set/replaced if the multiple required keys don\'t match or exist', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSetByKeyExactOrdered' => ['description' => 'Values can be set/replaced by multiple required ordered keys if the order is correct', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidSetByKeyExactOrdered' => ['description' => 'Values cannot be set/replaced if the multiple required ordered keys don\'t match or exist in the correct order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidRemapExact' => ['description' => 'Multiple keys cannot be remapped', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSiblingsExact' => ['description' => 'All sibling key combinations can be found for multiple required keys', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testSiblingsExactOrdered' => ['description' => 'For multiple required ordered keys don\'t exist any siblings', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemoveExact' => ['description' => 'A multiple required key combination for a value can be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidRemoveExact' => ['description' => 'If a multiple required key combination doesn\'t exist it cannot be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testRemoveExactOrdered' => ['description' => 'A multiple required ordered key combination for a value can be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Map\MultiMapTest:testInvalidRemoveExactOrdered' => ['description' => 'If a multiple required ordered key combination doesn\'t exist it cannot be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest' => ['description' => 'Priority queue'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testDefault' => ['description' => 'The queue has the expected default values and functionality after initialization', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testInputOutput' => ['description' => 'Queue elements can be added with the default value of 1.0 and returned', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testAddWithPriority' => ['description' => 'Queue elements can be added with a priority', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testCount' => ['description' => 'The priority queue returns the correct amount of elements it holds', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testRemove' => ['description' => 'A queue element can be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testInvalidRemove' => ['description' => 'A none-existing queue element id cannot be removed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testInvalidGet' => ['description' => 'A removed or none-existing queue element returns a empty data', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testPriorityIncreaseAll' => ['description' => 'The priority of all queue elements can be uniformly increased', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testPriorityChange' => ['description' => 'The priority or a queue element can be changed', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testSerialize' => ['description' => 'The queue can be serialized and unserialized', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testPop' => ['description' => 'A queue element can be popped from the que which also removes it from the queue', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testFIFO' => ['description' => 'A FIFO queue returns the elements in FIFO order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testLIFO' => ['description' => 'A LIFO queue returns the elements in LIFO order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testHighest' => ['description' => 'A highest queue returns the elements in highest priority order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testLowest' => ['description' => 'A lowest queue returns the elements in lowest priority order', 'type' => 'framework'],
'phpOMS\tests\Stdlib\Queue\PriorityQueueTest:testInvalidPriority' => ['description' => 'A invalid priority queue type throws a InvalidEnumValue', 'type' => 'framework'],
'phpOMS\tests\System\SystemUtilsTest' => ['description' => 'System information', 'type' => 'framework'],
'phpOMS\tests\System\SystemUtilsTest:testRAM' => ['description' => 'Test if it is possible to get information about the available RAM and usage (on Windows)', 'type' => 'framework'],
'phpOMS\tests\System\SystemUtilsTest:testCPUUsage' => ['description' => 'Test if it is possible to get information about the CPU usage', 'type' => 'framework'],

11
Helper/testreport.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/bash
php phpcs.phar ./ --standard="Build/Config/phpcs.xml" -s --report-junit=Build/test/junit_phpcs.xml
php phpstan.phar analyse --autoload-file=phpOMS/Autoloader.php -l 7 -c Build/Config/phpstan.neon --error-format=prettyJson ./ > Build/test/phpstan.json
# Remove empty lines and lines with warnings which corrupt the json format
sed -i '/^$/d' Build/test/phpstan.json
sed -i '/^Warning: /d' Build/test/phpstan.json
php ../TestReportGenerator/src/index.php -b /home/spl1nes/Orange-Management -l /home/spl1nes/Orange-Management/Build/Config/reportLang.php -c /home/spl1nes/Orange-Management/tests/coverage.xml -s /home/spl1nes/Orange-Management/Build/test/junit_phpcs.xml -a /home/spl1nes/Orange-Management/Build/test/phpstan.json -u /home/spl1nes/Orange-Management/Build/test/junit_php.xml -d /home/spl1nes/Orange-Management/Build/test/ReportExternal --version 1.0.0

View File

@ -4,10 +4,12 @@
echo "Start php style inspection"
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/phpOMS --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report=full --report-file=${INSPECTION_PATH}/Framework/phpcs.log
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/phpOMS --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report-full=${INSPECTION_PATH}/Framework/phpcs.log --report-junit=${INSPECTION_PATH}/Framework/phpcs.xml
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/Web --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report=full --report-file=${INSPECTION_PATH}/Modules/phpcs.log
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/Web --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report-full=${INSPECTION_PATH}/Modules/phpcs.log --report-junit=${INSPECTION_PATH}/Modules/phpcs.xml
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/Modules --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report=full --report-file=${INSPECTION_PATH}/Modules/phpcs.log
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH}/Modules --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report-full=${INSPECTION_PATH}/Modules/phpcs.log --report-junit=${INSPECTION_PATH}/Modules/phpcs.xml
php ${TOOLS_PATH}/phpcs.phar ${ROOT_PATH} --standard="${BUILD_PATH}/Config/phpcs.xml" -s --report-full=${INSPECTION_PATH}/Test/Php/phpcs.log --report-junit=${INSPECTION_PATH}/Test/Php/junit_php.xml
#php ${TOOLS_PATH}/phpmd.phar ${ROOT_PATH}/phpOMS text ${BUILD_PATH}/Config/phpmd.xml --exclude *tests* --minimumpriority 1

View File

@ -13,6 +13,8 @@ php -d memory_limit=4G ${TOOLS_PATH}/phpstan.phar analyse --autoload-file=${ROOT
php -d memory_limit=4G ${TOOLS_PATH}/phpstan.phar analyse --autoload-file=${ROOT_PATH}/phpOMS/Autoloader.php -l 7 -c ${BUILD_PATH}/Config/phpstan.neon ${ROOT_PATH}/Model > ${INSPECTION_PATH}/Model/phpstan.log
php -d memory_limit=4G ${TOOLS_PATH}/phpstan.phar analyse --autoload-file=${ROOT_PATH}/phpOMS/Autoloader.php -l 7 -c ${BUILD_PATH}/Config/phpstan.neon ${ROOT_PATH}/Web > ${INSPECTION_PATH}/Web/phpstan.log
php -d memory_limit=4G ${TOOLS_PATH}/phpstan.phar analyse --autoload-file=${ROOT_PATH}/phpOMS/Autoloader.php -l 7 -c ${BUILD_PATH}/Config/phpstan.neon --error-format=json ${ROOT_PATH}/phpOMS > ${INSPECTION_PATH}/Test/Php/phpstan.json
php ${TOOLS_PATH}/phan.phar -k ${BUILD_PATH}/Config/phan.php -l ${ROOT_PATH}/phpOMS -m text --minimum-severity=0 --color -o ${INSPECTION_PATH}/Framework/phan.log
php ${TOOLS_PATH}/phan.phar -k ${BUILD_PATH}/Config/phan.php -l ${ROOT_PATH}/Modules -m text --minimum-severity=0 --color -o ${INSPECTION_PATH}/Modules/phan.log
php ${TOOLS_PATH}/phan.phar -k ${BUILD_PATH}/Config/phan.php -l ${ROOT_PATH}/Model -m text --minimum-severity=0 --color -o ${INSPECTION_PATH}/Model/phan.log

View File

@ -46,4 +46,4 @@ echo "Custom php inspection"
# Build external test report
echo "#################################################"
echo "PHP test report"
php ${TOOLS_PATH}/testreportgenerator.phar -l ${BUILD_PATH}/Config/reportLang.php -c ${INSPECTION_PATH}/Test/Php/coverage.xml -u ${INSPECTION_PATH}/Test/Php/junit_php.xml -d ${INSPECTION_PATH}/Test/ReportExternal --version 1.0.0
php ${TOOLS_PATH}/testreportgenerator.phar -b ${ROOT_PATH} -l ${BUILD_PATH}/Config/reportLang.php -c ${INSPECTION_PATH}/Test/Php/coverage.xml -u ${INSPECTION_PATH}/Test/Php/junit_php.xml -s ${INSPECTION_PATH}/Test/Php/junit_phpcs.xml -a ${INSPECTION_PATH}/Test/Php/phpstan.json -d ${INSPECTION_PATH}/Test/ReportExternal --version 1.0.0