Compare commits

...

3 Commits

Author SHA1 Message Date
5dc0c7058d Readding metrics to output 2024-07-01 09:31:35 +00:00
ed9013df34 Typical update 2024-06-18 12:50:00 +00:00
da5d782e40 Simplifying 2024-05-21 12:24:59 +00:00
12 changed files with 128 additions and 196 deletions

@ -10,8 +10,10 @@ use DNW\Skills\TrueSkill\FactorGraphTrueSkillCalculator;
use DNW\Skills\GameInfo; use DNW\Skills\GameInfo;
use DNW\Skills\Player; use DNW\Skills\Player;
use DNW\Skills\Team; use DNW\Skills\Team;
use DNW\Skills\Teams;
/**
* Basic Benchmarks.
*/
class BasicBench class BasicBench
{ {
/** /**

@ -51,6 +51,7 @@
"@benchmark", "@benchmark",
"@lint", "@lint",
"@analyze", "@analyze",
"@metrics",
"@html" "@html"
] ]
} }

276
composer.lock generated

@ -242,16 +242,16 @@
}, },
{ {
"name": "composer/pcre", "name": "composer/pcre",
"version": "3.1.3", "version": "3.1.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/pcre.git", "url": "https://github.com/composer/pcre.git",
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" "reference": "04229f163664973f68f38f6f73d917799168ef24"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24",
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", "reference": "04229f163664973f68f38f6f73d917799168ef24",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -293,7 +293,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/composer/pcre/issues", "issues": "https://github.com/composer/pcre/issues",
"source": "https://github.com/composer/pcre/tree/3.1.3" "source": "https://github.com/composer/pcre/tree/3.1.4"
}, },
"funding": [ "funding": [
{ {
@ -309,7 +309,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-03-19T10:26:25+00:00" "time": "2024-05-27T13:40:54+00:00"
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
@ -706,40 +706,39 @@
}, },
{ {
"name": "league/csv", "name": "league/csv",
"version": "9.15.0", "version": "9.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/csv.git", "url": "https://github.com/thephpleague/csv.git",
"reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435" "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/csv/zipball/fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", "url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440",
"reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-filter": "*", "ext-filter": "*",
"ext-json": "*",
"ext-mbstring": "*",
"php": "^8.1.2" "php": "^8.1.2"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "^2.1.4", "doctrine/collections": "^2.2.2",
"ext-dom": "*", "ext-dom": "*",
"ext-xdebug": "*", "ext-xdebug": "*",
"friendsofphp/php-cs-fixer": "^v3.22.0", "friendsofphp/php-cs-fixer": "^3.57.1",
"phpbench/phpbench": "^1.2.15", "phpbench/phpbench": "^1.2.15",
"phpstan/phpstan": "^1.10.57", "phpstan/phpstan": "^1.11.1",
"phpstan/phpstan-deprecation-rules": "^1.1.4", "phpstan/phpstan-deprecation-rules": "^1.2.0",
"phpstan/phpstan-phpunit": "^1.3.15", "phpstan/phpstan-phpunit": "^1.4.0",
"phpstan/phpstan-strict-rules": "^1.5.2", "phpstan/phpstan-strict-rules": "^1.6.0",
"phpunit/phpunit": "^10.5.9", "phpunit/phpunit": "^10.5.16 || ^11.1.3",
"symfony/var-dumper": "^6.4.2" "symfony/var-dumper": "^6.4.6 || ^7.0.7"
}, },
"suggest": { "suggest": {
"ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes",
"ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters",
"ext-mbstring": "Needed to ease transcoding CSV using mb stream filters"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -791,20 +790,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-02-20T20:00:00+00:00" "time": "2024-05-24T11:04:54+00:00"
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.11.1", "version": "1.12.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/myclabs/DeepCopy.git",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -812,11 +811,12 @@
}, },
"conflict": { "conflict": {
"doctrine/collections": "<1.6.8", "doctrine/collections": "<1.6.8",
"doctrine/common": "<2.13.3 || >=3,<3.2.2" "doctrine/common": "<2.13.3 || >=3 <3.2.2"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "^1.6.8", "doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2", "doctrine/common": "^2.13.3 || ^3.2.2",
"phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
}, },
"type": "library", "type": "library",
@ -842,7 +842,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/myclabs/DeepCopy/issues", "issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
}, },
"funding": [ "funding": [
{ {
@ -850,7 +850,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-03-08T13:26:56+00:00" "time": "2024-06-12T14:39:25+00:00"
}, },
{ {
"name": "netresearch/jsonmapper", "name": "netresearch/jsonmapper",
@ -1330,16 +1330,16 @@
}, },
{ {
"name": "phpstan/phpdoc-parser", "name": "phpstan/phpdoc-parser",
"version": "1.29.0", "version": "1.29.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git", "url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc" "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4",
"reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc", "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1371,22 +1371,22 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types", "description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": { "support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues", "issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0" "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1"
}, },
"time": "2024-05-06T12:04:23+00:00" "time": "2024-05-31T08:52:43+00:00"
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.11.1", "version": "1.11.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b" "reference": "490f0ae1c92b082f154681d7849aee776a7c1443"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/490f0ae1c92b082f154681d7849aee776a7c1443",
"reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b", "reference": "490f0ae1c92b082f154681d7849aee776a7c1443",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1431,20 +1431,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-05-15T08:00:59+00:00" "time": "2024-06-17T15:10:54+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "10.1.14", "version": "10.1.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
"reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1501,7 +1501,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15"
}, },
"funding": [ "funding": [
{ {
@ -1509,7 +1509,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-03-12T15:33:41+00:00" "time": "2024-06-29T08:25:15+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
@ -1756,16 +1756,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "10.5.20", "version": "10.5.24",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3" "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5f124e3e3e561006047b532fd0431bf5bb6b9015",
"reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3", "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1837,7 +1837,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues", "issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy", "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20" "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.24"
}, },
"funding": [ "funding": [
{ {
@ -1853,7 +1853,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-04-24T06:32:35+00:00" "time": "2024-06-20T13:09:54+00:00"
}, },
{ {
"name": "psalm/plugin-phpunit", "name": "psalm/plugin-phpunit",
@ -2020,16 +2020,16 @@
}, },
{ {
"name": "rector/rector", "name": "rector/rector",
"version": "1.1.0", "version": "1.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/rectorphp/rector.git", "url": "https://github.com/rectorphp/rector.git",
"reference": "556509e2dcf527369892b7d411379c4a02f31859" "reference": "c930cdb21294f10955ddfc31b720971e8333943d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/556509e2dcf527369892b7d411379c4a02f31859", "url": "https://api.github.com/repos/rectorphp/rector/zipball/c930cdb21294f10955ddfc31b720971e8333943d",
"reference": "556509e2dcf527369892b7d411379c4a02f31859", "reference": "c930cdb21294f10955ddfc31b720971e8333943d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2067,7 +2067,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/rectorphp/rector/issues", "issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/1.1.0" "source": "https://github.com/rectorphp/rector/tree/1.1.1"
}, },
"funding": [ "funding": [
{ {
@ -2075,7 +2075,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-05-18T09:40:27+00:00" "time": "2024-06-21T07:51:17+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",
@ -3063,16 +3063,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v7.0.7", "version": "v7.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "c981e0e9380ce9f146416bde3150c79197ce9986" "reference": "0aa29ca177f432ab68533432db0de059f39c92ae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986", "url": "https://api.github.com/repos/symfony/console/zipball/0aa29ca177f432ab68533432db0de059f39c92ae",
"reference": "c981e0e9380ce9f146416bde3150c79197ce9986", "reference": "0aa29ca177f432ab68533432db0de059f39c92ae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3136,7 +3136,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v7.0.7" "source": "https://github.com/symfony/console/tree/v7.1.2"
}, },
"funding": [ "funding": [
{ {
@ -3152,7 +3152,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-04-18T09:29:19+00:00" "time": "2024-06-28T10:03:55+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@ -3223,22 +3223,24 @@
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v7.0.7", "version": "v7.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5" "reference": "92a91985250c251de9b947a14bb2c9390b1a562c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5", "url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c",
"reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5", "reference": "92a91985250c251de9b947a14bb2c9390b1a562c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.2", "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8", "symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
"symfony/process": "^6.4|^7.0" "symfony/process": "^6.4|^7.0"
}, },
"type": "library", "type": "library",
@ -3267,7 +3269,7 @@
"description": "Provides basic utilities for the filesystem", "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/filesystem/tree/v7.0.7" "source": "https://github.com/symfony/filesystem/tree/v7.1.2"
}, },
"funding": [ "funding": [
{ {
@ -3283,20 +3285,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-04-18T09:29:19+00:00" "time": "2024-06-28T10:03:55+00:00"
}, },
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
"version": "v1.29.0", "version": "v1.30.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git", "url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3346,7 +3348,7 @@
"portable" "portable"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
}, },
"funding": [ "funding": [
{ {
@ -3362,20 +3364,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2024-05-31T15:07:36+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-grapheme", "name": "symfony/polyfill-intl-grapheme",
"version": "v1.29.0", "version": "v1.30.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3424,7 +3426,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
}, },
"funding": [ "funding": [
{ {
@ -3440,20 +3442,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2024-05-31T15:07:36+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-normalizer", "name": "symfony/polyfill-intl-normalizer",
"version": "v1.29.0", "version": "v1.30.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d" "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3505,7 +3507,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
}, },
"funding": [ "funding": [
{ {
@ -3521,20 +3523,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2024-05-31T15:07:36+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
"version": "v1.29.0", "version": "v1.30.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3585,7 +3587,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
}, },
"funding": [ "funding": [
{ {
@ -3601,68 +3603,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2024-06-19T12:30:46+00:00"
},
{
"name": "symfony/process",
"version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "3839e56b94dd1dbd13235d27504e66baf23faba0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0",
"reference": "3839e56b94dd1dbd13235d27504e66baf23faba0",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Process\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v7.0.7"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-04-18T09:29:19+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
@ -3749,16 +3690,16 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v7.0.7", "version": "v7.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63" "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63", "url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8",
"reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63", "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3772,6 +3713,7 @@
"symfony/translation-contracts": "<2.5" "symfony/translation-contracts": "<2.5"
}, },
"require-dev": { "require-dev": {
"symfony/emoji": "^7.1",
"symfony/error-handler": "^6.4|^7.0", "symfony/error-handler": "^6.4|^7.0",
"symfony/http-client": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0",
"symfony/intl": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0",
@ -3815,7 +3757,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v7.0.7" "source": "https://github.com/symfony/string/tree/v7.1.2"
}, },
"funding": [ "funding": [
{ {
@ -3831,7 +3773,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-04-18T09:29:19+00:00" "time": "2024-06-28T09:27:18+00:00"
}, },
{ {
"name": "theseer/tokenizer", "name": "theseer/tokenizer",
@ -3885,16 +3827,16 @@
}, },
{ {
"name": "vimeo/psalm", "name": "vimeo/psalm",
"version": "5.24.0", "version": "5.25.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/vimeo/psalm.git", "url": "https://github.com/vimeo/psalm.git",
"reference": "462c80e31c34e58cc4f750c656be3927e80e550e" "reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/462c80e31c34e58cc4f750c656be3927e80e550e", "url": "https://api.github.com/repos/vimeo/psalm/zipball/01a8eb06b9e9cc6cfb6a320bf9fb14331919d505",
"reference": "462c80e31c34e58cc4f750c656be3927e80e550e", "reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3991,7 +3933,7 @@
"issues": "https://github.com/vimeo/psalm/issues", "issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm" "source": "https://github.com/vimeo/psalm"
}, },
"time": "2024-05-01T19:32:08+00:00" "time": "2024-06-16T15:08:35+00:00"
}, },
{ {
"name": "webmozart/assert", "name": "webmozart/assert",

@ -30,9 +30,9 @@ Links
* `Project README <README.html>`_ * `Project README <README.html>`_
* `API Documentations <docs/>`_ * `API Documentations <docs/>`_
* `CodeCoverage <coverage/>`_ * `CodeCoverage <coverage/>`_
* `Metrics <metrics/>`_
* `Test report <test/index.html>`_ * `Test report <test/index.html>`_
* `Mutation testing <mutation/>`_ * `Mutation testing <mutation/infection.html>`_
* `Code metrics <metrics/index.html>`_
Standard Tools Standard Tools

@ -2,7 +2,7 @@
"$schema": "https://raw.githubusercontent.com/infection/infection/0.27.9/resources/schema.json", "$schema": "https://raw.githubusercontent.com/infection/infection/0.27.9/resources/schema.json",
"source": { "source": {
"directories": [ "directories": [
"src" "src/"
] ]
}, },
"logs": { "logs": {

@ -11,5 +11,4 @@
"title": "Benchmarking" "title": "Benchmarking"
} }
} }
} }

@ -11,6 +11,12 @@ use Exception;
*/ */
abstract class SkillCalculator abstract class SkillCalculator
{ {
public const NONE = 0x00;
public const PARTIAL_PLAY = 0x01;
public const PARTIAL_UPDATE = 0x02;
protected function __construct( protected function __construct(
private readonly int $supportedOptions, private readonly int $supportedOptions,
private readonly TeamsRange $totalTeamsAllowed, private readonly TeamsRange $totalTeamsAllowed,

@ -1,14 +0,0 @@
<?php
declare(strict_types=1);
namespace DNW\Skills;
class SkillCalculatorSupportedOptions
{
public const NONE = 0x00;
public const PARTIAL_PLAY = 0x01;
public const PARTIAL_UPDATE = 0x02;
}

@ -14,7 +14,6 @@ use DNW\Skills\PartialPlay;
use DNW\Skills\PlayersRange; use DNW\Skills\PlayersRange;
use DNW\Skills\RankSorter; use DNW\Skills\RankSorter;
use DNW\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use DNW\Skills\SkillCalculatorSupportedOptions;
use DNW\Skills\Team; use DNW\Skills\Team;
use DNW\Skills\TeamsRange; use DNW\Skills\TeamsRange;
use DNW\Skills\RatingContainer; use DNW\Skills\RatingContainer;
@ -27,7 +26,7 @@ class FactorGraphTrueSkillCalculator extends SkillCalculator
{ {
public function __construct() public function __construct()
{ {
parent::__construct(SkillCalculatorSupportedOptions::PARTIAL_PLAY | SkillCalculatorSupportedOptions::PARTIAL_UPDATE, TeamsRange::atLeast(2), PlayersRange::atLeast(1)); parent::__construct(SkillCalculator::PARTIAL_PLAY | SkillCalculator::PARTIAL_UPDATE, TeamsRange::atLeast(2), PlayersRange::atLeast(1));
} }
/** /**

@ -13,9 +13,7 @@ use DNW\Skills\RankSorter;
use DNW\Skills\Rating; use DNW\Skills\Rating;
use DNW\Skills\RatingContainer; use DNW\Skills\RatingContainer;
use DNW\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use DNW\Skills\SkillCalculatorSupportedOptions;
use DNW\Skills\TeamsRange; use DNW\Skills\TeamsRange;
use DNW\Skills\Team;
/** /**
* Calculates the new ratings for only two players. * Calculates the new ratings for only two players.
@ -27,7 +25,7 @@ class TwoPlayerTrueSkillCalculator extends SkillCalculator
{ {
public function __construct() public function __construct()
{ {
parent::__construct(SkillCalculatorSupportedOptions::NONE, TeamsRange::exactly(2), PlayersRange::exactly(1)); parent::__construct(SkillCalculator::NONE, TeamsRange::exactly(2), PlayersRange::exactly(1));
} }
/** /**

@ -13,7 +13,6 @@ use DNW\Skills\RankSorter;
use DNW\Skills\Rating; use DNW\Skills\Rating;
use DNW\Skills\RatingContainer; use DNW\Skills\RatingContainer;
use DNW\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use DNW\Skills\SkillCalculatorSupportedOptions;
use DNW\Skills\Team; use DNW\Skills\Team;
use DNW\Skills\TeamsRange; use DNW\Skills\TeamsRange;
@ -26,7 +25,7 @@ class TwoTeamTrueSkillCalculator extends SkillCalculator
{ {
public function __construct() public function __construct()
{ {
parent::__construct(SkillCalculatorSupportedOptions::NONE, TeamsRange::exactly(2), PlayersRange::atLeast(1)); parent::__construct(SkillCalculator::NONE, TeamsRange::exactly(2), PlayersRange::atLeast(1));
} }
/** /**

@ -8,7 +8,7 @@ use DNW\Skills\GameInfo;
use DNW\Skills\Player; use DNW\Skills\Player;
use DNW\Skills\Team; use DNW\Skills\Team;
use DNW\Skills\TrueSkill\FactorGraphTrueSkillCalculator; use DNW\Skills\TrueSkill\FactorGraphTrueSkillCalculator;
use DNW\Skills\SkillCalculatorSupportedOptions; use DNW\Skills\SkillCalculator;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\CoversNothing; use PHPUnit\Framework\Attributes\CoversNothing;
@ -78,6 +78,6 @@ class FactorGraphTrueSkillCalculatorTest extends TestCase
public function testMethodisSupported(): void public function testMethodisSupported(): void
{ {
$calculator = new FactorGraphTrueSkillCalculator(); $calculator = new FactorGraphTrueSkillCalculator();
$this->assertEquals(TRUE, $calculator->isSupported(SkillCalculatorSupportedOptions::PARTIAL_PLAY)); $this->assertEquals(TRUE, $calculator->isSupported(SkillCalculator::PARTIAL_PLAY));
} }
} }