Fix PaperDb Calc

This commit is contained in:
Thomas Peterson 2023-04-15 10:58:04 +02:00
parent f86f5276b3
commit 8ddcfd39e8
12 changed files with 227 additions and 113 deletions

File diff suppressed because one or more lines are too long

204
composer.lock generated
View File

@ -351,16 +351,16 @@
},
{
"name": "doctrine/dbal",
"version": "3.5.3",
"version": "3.6.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e"
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/88fa7e5189fd5ec6682477044264dc0ed4e3aa1e",
"reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c",
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c",
"shasum": ""
},
"require": {
@ -373,13 +373,14 @@
"psr/log": "^1|^2|^3"
},
"require-dev": {
"doctrine/coding-standard": "11.0.0",
"doctrine/coding-standard": "11.1.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2022.3",
"phpstan/phpstan": "1.9.4",
"phpstan/phpstan-strict-rules": "^1.4",
"phpunit/phpunit": "9.5.27",
"phpstan/phpstan": "1.10.9",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "9.6.6",
"psalm/plugin-phpunit": "0.18.4",
"squizlabs/php_codesniffer": "3.7.1",
"squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^5.4|^6.0",
"symfony/console": "^4.4|^5.4|^6.0",
"vimeo/psalm": "4.30.0"
@ -442,7 +443,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.5.3"
"source": "https://github.com/doctrine/dbal/tree/3.6.2"
},
"funding": [
{
@ -458,7 +459,7 @@
"type": "tidelift"
}
],
"time": "2023-01-12T10:21:44+00:00"
"time": "2023-04-14T07:25:38+00:00"
},
{
"name": "doctrine/deprecations",
@ -835,16 +836,16 @@
},
{
"name": "doctrine/orm",
"version": "2.14.1",
"version": "2.14.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
"reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e"
"reference": "e5fb1a4a8f5aa4e37612f66a22aac10291bcbb52"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/orm/zipball/de7eee5ed7b1b35c99b118f26f210a8281e6db8e",
"reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e",
"url": "https://api.github.com/repos/doctrine/orm/zipball/e5fb1a4a8f5aa4e37612f66a22aac10291bcbb52",
"reference": "e5fb1a4a8f5aa4e37612f66a22aac10291bcbb52",
"shasum": ""
},
"require": {
@ -873,14 +874,14 @@
"doctrine/annotations": "^1.13 || ^2",
"doctrine/coding-standard": "^9.0.2 || ^11.0",
"phpbench/phpbench": "^0.16.10 || ^1.0",
"phpstan/phpstan": "~1.4.10 || 1.9.8",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"phpstan/phpstan": "~1.4.10 || 1.10.6",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6",
"psr/log": "^1 || ^2 || ^3",
"squizlabs/php_codesniffer": "3.7.1",
"squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^4.4 || ^5.4 || ^6.0",
"symfony/var-exporter": "^4.4 || ^5.4 || ^6.2",
"symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0",
"vimeo/psalm": "4.30.0 || 5.4.0"
"vimeo/psalm": "4.30.0 || 5.9.0"
},
"suggest": {
"ext-dom": "Provides support for XSD validation for XML mapping files",
@ -930,22 +931,22 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
"source": "https://github.com/doctrine/orm/tree/2.14.1"
"source": "https://github.com/doctrine/orm/tree/2.14.2"
},
"time": "2023-01-16T18:36:59+00:00"
"time": "2023-03-30T15:18:54+00:00"
},
{
"name": "doctrine/persistence",
"version": "3.1.3",
"version": "3.1.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
"reference": "920da294b4bb0bb527f2a91ed60c18213435880f"
"reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/920da294b4bb0bb527f2a91ed60c18213435880f",
"reference": "920da294b4bb0bb527f2a91ed60c18213435880f",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/8bf8ab15960787f1a49d405f6eb8c787b4841119",
"reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119",
"shasum": ""
},
"require": {
@ -1014,7 +1015,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
"source": "https://github.com/doctrine/persistence/tree/3.1.3"
"source": "https://github.com/doctrine/persistence/tree/3.1.4"
},
"funding": [
{
@ -1030,7 +1031,7 @@
"type": "tidelift"
}
],
"time": "2023-01-19T13:39:42+00:00"
"time": "2023-02-03T11:13:07+00:00"
},
{
"name": "psr/cache",
@ -1186,16 +1187,16 @@
},
{
"name": "symfony/console",
"version": "v6.2.5",
"version": "v6.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "3e294254f2191762c1d137aed4b94e966965e985"
"reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/3e294254f2191762c1d137aed4b94e966965e985",
"reference": "3e294254f2191762c1d137aed4b94e966965e985",
"url": "https://api.github.com/repos/symfony/console/zipball/3582d68a64a86ec25240aaa521ec8bc2342b369b",
"reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b",
"shasum": ""
},
"require": {
@ -1257,12 +1258,12 @@
"homepage": "https://symfony.com",
"keywords": [
"cli",
"command line",
"command-line",
"console",
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.2.5"
"source": "https://github.com/symfony/console/tree/v6.2.8"
},
"funding": [
{
@ -1278,20 +1279,20 @@
"type": "tidelift"
}
],
"time": "2023-01-01T08:38:09+00:00"
"time": "2023-03-29T21:42:15+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.2.0",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3"
"reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3",
"reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
"reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
"shasum": ""
},
"require": {
@ -1329,7 +1330,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1"
},
"funding": [
{
@ -1345,7 +1346,7 @@
"type": "tidelift"
}
],
"time": "2022-11-25T10:21:52+00:00"
"time": "2023-03-01T10:25:55+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -1838,16 +1839,16 @@
},
{
"name": "symfony/service-contracts",
"version": "v3.2.0",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75"
"reference": "a8c9cedf55f314f3a186041d19537303766df09a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75",
"reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a",
"reference": "a8c9cedf55f314f3a186041d19537303766df09a",
"shasum": ""
},
"require": {
@ -1903,7 +1904,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.2.0"
"source": "https://github.com/symfony/service-contracts/tree/v3.2.1"
},
"funding": [
{
@ -1919,20 +1920,20 @@
"type": "tidelift"
}
],
"time": "2022-11-25T10:21:52+00:00"
"time": "2023-03-01T10:32:47+00:00"
},
{
"name": "symfony/string",
"version": "v6.2.5",
"version": "v6.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0"
"reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0",
"reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0",
"url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef",
"reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef",
"shasum": ""
},
"require": {
@ -1989,7 +1990,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v6.2.5"
"source": "https://github.com/symfony/string/tree/v6.2.8"
},
"funding": [
{
@ -2005,22 +2006,22 @@
"type": "tidelift"
}
],
"time": "2023-01-01T08:38:09+00:00"
"time": "2023-03-20T16:06:02+00:00"
}
],
"packages-dev": [
{
"name": "myclabs/deep-copy",
"version": "1.11.0",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
@ -2058,7 +2059,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
"funding": [
{
@ -2066,20 +2067,20 @@
"type": "tidelift"
}
],
"time": "2022-03-03T13:19:32+00:00"
"time": "2023-03-08T13:26:56+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.15.3",
"version": "v4.15.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"shasum": ""
},
"require": {
@ -2120,9 +2121,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
},
"time": "2023-01-16T22:05:37+00:00"
"time": "2023-03-05T19:49:14+00:00"
},
{
"name": "phar-io/manifest",
@ -2237,23 +2238,23 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.24",
"version": "9.2.26",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.14",
"nikic/php-parser": "^4.15",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@ -2268,8 +2269,8 @@
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcov": "*",
"ext-xdebug": "*"
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
@ -2302,7 +2303,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
},
"funding": [
{
@ -2310,7 +2311,7 @@
"type": "github"
}
],
"time": "2023-01-26T08:26:55+00:00"
"time": "2023-03-06T12:58:08+00:00"
},
{
"name": "phpunit/php-file-iterator",
@ -2555,16 +2556,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.28",
"version": "9.6.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "954ca3113a03bf780d22f07bf055d883ee04b65e"
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/954ca3113a03bf780d22f07bf055d883ee04b65e",
"reference": "954ca3113a03bf780d22f07bf055d883ee04b65e",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
"shasum": ""
},
"require": {
@ -2597,8 +2598,8 @@
"sebastian/version": "^3.0.2"
},
"suggest": {
"ext-soap": "*",
"ext-xdebug": "*"
"ext-soap": "To be able to generate mocks based on WSDL files",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"bin": [
"phpunit"
@ -2606,7 +2607,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "9.5-dev"
"dev-master": "9.6-dev"
}
},
"autoload": {
@ -2637,7 +2638,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.28"
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7"
},
"funding": [
{
@ -2653,7 +2655,7 @@
"type": "tidelift"
}
],
"time": "2023-01-14T12:32:24+00:00"
"time": "2023-04-14T08:58:40+00:00"
},
{
"name": "sebastian/cli-parser",
@ -3021,16 +3023,16 @@
},
{
"name": "sebastian/environment",
"version": "5.1.4",
"version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
@ -3072,7 +3074,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@ -3080,7 +3082,7 @@
"type": "github"
}
],
"time": "2022-04-03T09:37:03+00:00"
"time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
@ -3394,16 +3396,16 @@
},
{
"name": "sebastian/recursion-context",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
@ -3442,10 +3444,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@ -3453,7 +3455,7 @@
"type": "github"
}
],
"time": "2020-10-26T13:17:30+00:00"
"time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
@ -3512,16 +3514,16 @@
},
{
"name": "sebastian/type",
"version": "3.2.0",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
@ -3556,7 +3558,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/3.2.0"
"source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@ -3564,7 +3566,7 @@
"type": "github"
}
],
"time": "2022-09-12T14:47:03+00:00"
"time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",

View File

@ -81,6 +81,7 @@ class Select extends Base
$optPapier->setId($paper->getArtNr());
$optPapier->setLabel($paper->getDescription1());
$optPapier->setPaper($paper);
$optPapier->setEdgesCollectionContainer($papier->getEdgesCollectionContainer());
$this->element->addOption($optPapier);
}
}

View File

@ -1,6 +1,7 @@
<?php
namespace PSC\Library\Calc;
use PSC\Library\Calc\General\Parser\EdgeCollectionContainer;
use PSC\Library\Calc\PaperContainer\Container;
use PSC\Library\Calc\PaperContainer\Item;
@ -23,6 +24,12 @@ class PaperContainer
foreach($containerNode->papier as $paper) {
$item = new Item();
$item->setId((string)$paper['id']);
if(isset($paper->grenzen)) {
$edgeCollectionContainerParser = new EdgeCollectionContainer($paper->grenzen);
$item->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
}
$container->addItem($item);
}
$this->container->append($container);

View File

@ -1,26 +1,37 @@
<?php
namespace PSC\Library\Calc\PaperContainer;
use PSC\Library\Calc\General\Type\EdgeCollectionContainer;
class Item
{
/** @var String */
protected $id;
protected string $id;
/**
* @return String
*/
public function getId()
protected EdgeCollectionContainer $edgesCollectionContainer;
public function __construct()
{
$this->edgesCollectionContainer = new EdgeCollectionContainer();
}
public function getId(): string
{
return $this->id;
}
/**
* @param String $id
*/
public function setId($id)
public function setId(string $id): void
{
$this->id = $id;
}
public function getEdgesCollectionContainer(): EdgeCollectionContainer
{
return $this->edgesCollectionContainer;
}
public function setEdgesCollectionContainer(EdgeCollectionContainer $edgesCollectionContainer): void
{
$this->edgesCollectionContainer = $edgesCollectionContainer;
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace PSC\Library\Calc\Tests\Customer\X;
use PHPUnit\Framework\TestCase;
use PSC\Library\Calc\Article;
use PSC\Library\Calc\Engine;
use PSC\Library\Calc\PaperContainer;
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
class CalcTest extends TestCase
{
/** @var Engine */
protected $engine = null;
public function setUp(): void
{
$repository = new PaperRepostory();
$paperContainer = new PaperContainer();
$paperContainer->parse(simplexml_load_string(file_get_contents(__DIR__ . '/papierContainer.xml')));
$this->engine = new Engine();
$this->engine->setPaperContainer($paperContainer);
$this->engine->setPaperRepository($repository);
$this->engine->setFormulas(file_get_contents(__DIR__ . '/formels.txt'));
$this->engine->setParameters(file_get_contents(__DIR__ . '/parameters.txt'));
$this->engine->setTemplates(file_get_contents(__DIR__ . '/calcTemplates.xml'));
$this->engine->loadString(file_get_contents(__DIR__ . '/calc.xml'));
}
public function tearDown(): void
{
$this->engine = null;
}
public function testIfPaperDbGrenze(): void
{
self::assertCount(5, $this->engine->getArticle()->getOptionById('papierU')->getValidOptions());
}
public function testIfPaperDbGrenzeVal(): void
{
$this->engine->setVariable('papierauswahlU', 'papier5_1');
$this->engine->calc();
self::assertCount(1, $this->engine->getArticle()->getOptionById('papierU')->getValidOptions());
}
public function testIfPaperDbGrenzeVal3(): void
{
$this->engine->setVariable('papierauswahlU', 'papier4_1');
$this->engine->calc();
self::assertCount(4, $this->engine->getArticle()->getOptionById('papierU')->getValidOptions());
}
}

21
tests/Customer/X/calc.xml Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<kalkulation>
<artikel>
<name>SD-Durchschreibesätze A4-Blocks</name>
<kommentar>210 mm x 297 mm</kommentar>
<option id="papierauswahlU" name="Papiergruppe Umschlag" type="Select" default="papier1_1">
<opt id="papier1_1" name="Standardpapiere (gestrichen)"/>
<opt id="papier1_2" name="Standardpapiere (ungestrichen)"/>
<opt id="papier2_1" name="Umweltpapiere"/>
<opt id="papier3_1" name="Premiumpapiere"/>
<opt id="papier4_1" name="Strukturpapiere"/>
<opt id="papier5_1" name="Graspapiere"/>
<opt id="papier6_1" name="Holzpapiere"/>
<opt id="papierZ" name="Extras"/>
</option>
<option id="papierU" name="Papiersorte" type="Select" mode="papierdb" container="test" default="INM300" />
<!-- BLOCK ENDE-->
</artikel>
</kalkulation>

View File

@ -0,0 +1,2 @@
<root>
</root>

View File

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<container>
<papiercontainer id="test">
<papier id="sm150g"><grenzen><papierauswahlU><grenze>papier1_1,papier4_1</grenze></papierauswahlU></grenzen></papier>
<papier id="sm300g"><grenzen><papierauswahlU><grenze>papier1_1,papier4_1</grenze></papierauswahlU></grenzen></papier>
<papier id="lwc65"><grenzen><papierauswahlU><grenze>papier1_1,papier3_1</grenze></papierauswahlU></grenzen></papier>
<papier id="50135"><grenzen><papierauswahlU><grenze>papier5_1,papier2_1</grenze></papierauswahlU></grenzen></papier>
<papier id="100"><grenzen><papierauswahlU><grenze>papier1_1,papier4_1</grenze></papierauswahlU></grenzen></papier>
<papier id="101"><grenzen><papierauswahlU><grenze>papier6_1,papier4_1</grenze></papierauswahlU></grenzen></papier>
<papier id="10080"><grenzen><papierauswahlU><grenze>papier1_1,papier3_1</grenze></papierauswahlU></grenzen></papier>
</papiercontainer>
</container>

View File