From 63234048b4909259c5d81f0369cb7a2214d9a1ca Mon Sep 17 00:00:00 2001 From: Thomas Peterson Date: Thu, 5 Jun 2025 11:23:31 +0200 Subject: [PATCH] Fixes --- .phpunit.result.cache | 2 +- src/Calc/Formel.php | 34 +- src/Calc/Valid.php | 8 +- src/Engine.php | 37 +- tests/Complex/FirstTest.php | 2 +- tests/Customer/JJ/CalcFasterTest.php | 48 + tests/Customer/JJ/CalcTest.php | 47 + tests/Customer/JJ/calc.xml | 1240 +++++++++++++++++++++++++ tests/Customer/JJ/calcTemplates.xml | 20 + tests/Customer/JJ/calc_better.xml | 1230 ++++++++++++++++++++++++ tests/Customer/JJ/formels.txt | 871 +++++++++++++++++ tests/Customer/JJ/papierContainer.xml | 296 ++++++ tests/Customer/JJ/parameters.txt | 231 +++++ tests/Customer/KK/CalcTest.php | 55 ++ tests/Customer/KK/calc.xml | 83 ++ tests/Customer/KK/calcTemplates.xml | 2 + tests/Customer/KK/formels.txt | 1 + tests/Customer/KK/papierContainer.xml | 3 + tests/Customer/KK/parameters.txt | 1 + tests/Customer/LL/CalcTest.php | 65 ++ tests/Customer/LL/calc.xml | 65 ++ tests/Customer/LL/calcTemplates.xml | 2 + tests/Customer/LL/formels.txt | 1 + tests/Customer/LL/papierContainer.xml | 3 + tests/Customer/LL/parameters.txt | 1 + tests/Customer/Z/CalcTest.php | 1 + tests/Mock/PaperRepostory.php | 11 + 27 files changed, 4328 insertions(+), 32 deletions(-) create mode 100644 tests/Customer/JJ/CalcFasterTest.php create mode 100644 tests/Customer/JJ/CalcTest.php create mode 100644 tests/Customer/JJ/calc.xml create mode 100644 tests/Customer/JJ/calcTemplates.xml create mode 100644 tests/Customer/JJ/calc_better.xml create mode 100644 tests/Customer/JJ/formels.txt create mode 100644 tests/Customer/JJ/papierContainer.xml create mode 100644 tests/Customer/JJ/parameters.txt create mode 100644 tests/Customer/KK/CalcTest.php create mode 100644 tests/Customer/KK/calc.xml create mode 100644 tests/Customer/KK/calcTemplates.xml create mode 100644 tests/Customer/KK/formels.txt create mode 100644 tests/Customer/KK/papierContainer.xml create mode 100644 tests/Customer/KK/parameters.txt create mode 100644 tests/Customer/LL/CalcTest.php create mode 100644 tests/Customer/LL/calc.xml create mode 100644 tests/Customer/LL/calcTemplates.xml create mode 100644 tests/Customer/LL/formels.txt create mode 100644 tests/Customer/LL/papierContainer.xml create mode 100644 tests/Customer/LL/parameters.txt diff --git a/.phpunit.result.cache b/.phpunit.result.cache index 6e881dd..39f0150 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":3,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":4,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":3,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":3,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":4,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":3,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":4,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":3,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":3,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":3,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":3,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":4,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectFalse":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectBinden":3,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":4,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":4,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testContainerSelectFalse":3,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":3,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":3,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":4,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testIfPaperDbGrenze":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceCompany":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAsso":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":3,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":4,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":4,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":3,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":4,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":3,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":3,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":3},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.002,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.01,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.015,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.009,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.009,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.008,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.005,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.007,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.097,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.097,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.174,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.083,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.029,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.172,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.031,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.028,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.399,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.242,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.261,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.096,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.204,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.029,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.048,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.052,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.048,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.237,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.236,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.234,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.007,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.005,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.006,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.008,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.014,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.01,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.002,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.002,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.013,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.042,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.042,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.066,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.068,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":0.569,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":0.57,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.595,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.601,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.084,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.083,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.081,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.145,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.149,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.026,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.025,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.025,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.021,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.008,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.01,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testIfDefaultPriceIsOk":0.003,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.008,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":0.747,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":1.126,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":1.018,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":1.019,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectFalse":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectBinden":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testContainerSelectFalse":1.024,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":1.005,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":0.999,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":1,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcDefault":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig":0.023,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig20":0.023,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":0.01,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testIfPaperDbGrenze":0.014,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":0.008,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceWithout":0.031,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice":0.015,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceCompany":0.016,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAsso":0.016,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":0.015,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":0.133,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":0.129,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":0.009,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testText":0.002,"Color\\Tests\\CompareColorsTest::testCMYKtoRGBtoCMYK":0.002,"Color\\Tests\\CompareColorsTest::testCMYKtoHEXtoCMYK":0.002,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #0":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #1":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #2":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #3":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #0":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #1":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #2":0.002,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #3":0.001,"Color\\Tests\\System\\HKSTest::testHandlesMissingColor1":0.002,"Color\\Tests\\System\\HKSTest::testHandlesMissingColor2":0.003,"Color\\Tests\\System\\PANTONETest::testHandlesMissingColor1":0.006,"Color\\Tests\\System\\PANTONETest::testHandlesMissingColor2":0.006,"Color\\Tests\\System\\RALTest::testHandlesMissingColor1":0.003,"Color\\Tests\\System\\RALTest::testHandlesMissingColor2":0.003,"Color\\Tests\\Value\\CMYKTest::testCanThrowException":0.002,"Color\\Tests\\Value\\CMYKTest::testCanSerialize":0.002,"Color\\Tests\\Value\\ComplementaryTest::testCanFindComplementary":0.002,"Color\\Tests\\Value\\ConverterTest::testGetXYZFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromHEX":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHEXFromRGB":0.005,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromCMYK":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCIELabFromXYZ":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromXYZ":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYFromCMYK":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetXYZFromCIELab":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromCMY":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYKFromCMY":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBAFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromRGBA":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHSLFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromHSL":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHSLAFromHSL":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBAFromHSLA":0.002,"Color\\Tests\\Value\\HEXTest::testCanHandleShortColorNames":0.002,"Color\\Tests\\Value\\HEXTest::testThrowsExceptionOnInvalidInput":0.002,"Color\\Tests\\Value\\HEXTest::testCanHandle32bit":0.002,"Color\\Tests\\Value\\HKSTest::testColor":0.002,"Color\\Tests\\Value\\HKSTest::testCanSerialize":0.003,"Color\\Tests\\Value\\PANTONETest::testCanSerialize":0.026,"Color\\Tests\\Value\\RALTest::testColor":0.003,"Color\\Tests\\Value\\RGBATest::testCanHandleAlpha":0.002,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":0.185}} \ No newline at end of file +{"version":1,"defects":{"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":3,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":3,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":3,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":3,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":4,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":3,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":3,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":4,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":3,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":4,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":3,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":3,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":3,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":3,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":4,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":4,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":4,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":3,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":3,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectFalse":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectBinden":3,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":4,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":4,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testContainerSelectFalse":3,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":3,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":3,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":3,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":4,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testIfPaperDbGrenze":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":3,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceCompany":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAsso":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":3,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":4,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":3,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":4,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":3,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":4,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":3,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":3,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":3,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":4,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":4,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":3,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":3,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcTest::testPrice":4,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcFasterTest::testPrice":3,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testDefault":3,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testChangeDefault":3,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testChangeDefault":3,"Warning":6,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testDefault":4,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testCalcValue":3},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.002,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.033,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.011,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.009,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.009,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.009,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.007,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.005,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.008,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.007,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.081,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.077,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.167,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.012,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.058,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.023,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.172,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.023,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.159,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.153,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.151,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.068,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.136,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.024,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.036,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.033,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.033,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.159,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.151,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.151,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.009,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.005,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.006,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.009,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.009,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.009,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.002,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.002,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.031,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.029,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.049,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.049,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.024,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":0.698,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":0.653,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.645,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.65,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.058,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.075,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.055,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.098,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.094,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.021,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.008,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.01,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.013,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testIfDefaultPriceIsOk":0.003,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.008,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":0.471,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.05,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":0.863,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":1.215,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":1.182,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectFalse":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testContainerSelectBinden":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testContainerSelectFalse":1.024,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":1.171,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":1.129,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":1.141,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcDefault":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig20":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":0.01,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testIfPaperDbGrenze":0.014,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":0.009,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceWithout":0.031,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice":0.015,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceCompany":0.016,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAsso":0.016,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":0.009,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":0.102,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":0.108,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":0.106,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":0.008,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testText":0.002,"Color\\Tests\\CompareColorsTest::testCMYKtoRGBtoCMYK":0.002,"Color\\Tests\\CompareColorsTest::testCMYKtoHEXtoCMYK":0.002,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #0":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #1":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #2":0.001,"Color\\Tests\\HelperTest::testCanConvertPercentToHex with data set #3":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #0":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #1":0.001,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #2":0.002,"Color\\Tests\\HelperTest::testCanConvertHexToPercent with data set #3":0.001,"Color\\Tests\\System\\HKSTest::testHandlesMissingColor1":0.002,"Color\\Tests\\System\\HKSTest::testHandlesMissingColor2":0.003,"Color\\Tests\\System\\PANTONETest::testHandlesMissingColor1":0.006,"Color\\Tests\\System\\PANTONETest::testHandlesMissingColor2":0.006,"Color\\Tests\\System\\RALTest::testHandlesMissingColor1":0.003,"Color\\Tests\\System\\RALTest::testHandlesMissingColor2":0.003,"Color\\Tests\\Value\\CMYKTest::testCanThrowException":0.002,"Color\\Tests\\Value\\CMYKTest::testCanSerialize":0.002,"Color\\Tests\\Value\\ComplementaryTest::testCanFindComplementary":0.002,"Color\\Tests\\Value\\ConverterTest::testGetXYZFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromHEX":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHEXFromRGB":0.005,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromCMYK":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCIELabFromXYZ":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromXYZ":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYFromCMYK":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetXYZFromCIELab":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromCMY":0.002,"Color\\Tests\\Value\\ConverterTest::testGetCMYKFromCMY":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBAFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromRGBA":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHSLFromRGB":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBFromHSL":0.002,"Color\\Tests\\Value\\ConverterTest::testGetHSLAFromHSL":0.002,"Color\\Tests\\Value\\ConverterTest::testGetRGBAFromHSLA":0.002,"Color\\Tests\\Value\\HEXTest::testCanHandleShortColorNames":0.002,"Color\\Tests\\Value\\HEXTest::testThrowsExceptionOnInvalidInput":0.002,"Color\\Tests\\Value\\HEXTest::testCanHandle32bit":0.002,"Color\\Tests\\Value\\HKSTest::testColor":0.002,"Color\\Tests\\Value\\HKSTest::testCanSerialize":0.003,"Color\\Tests\\Value\\PANTONETest::testCanSerialize":0.026,"Color\\Tests\\Value\\RALTest::testColor":0.003,"Color\\Tests\\Value\\RGBATest::testCanHandleAlpha":0.002,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":0.156,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcTest::testPrice":0.226,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcFasterTest::testPrice":0.23,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testDefault":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testChangeDefault":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testChangeDefault":0.083,"Warning":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testDefault":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testCalcValue":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\LL\\CalcTest::testChangeDefault":0.01}} \ No newline at end of file diff --git a/src/Calc/Formel.php b/src/Calc/Formel.php index d746268..f42cd4f 100644 --- a/src/Calc/Formel.php +++ b/src/Calc/Formel.php @@ -28,15 +28,15 @@ class Formel $this->article = $article; } - public function parse($formel) { + public function parse($formel, $breakValid = false) { $i = 0; - while((strpos($formel,'$F') !== false || strpos($formel,'$P') !== false || strpos($formel,'$V') !== false || strpos($formel,'$CV') !== false) && $i < 6) { - $formel = $this->parseCalcVariables($formel); - $formel = $this->parseFormulas($formel); - $formel = $this->parseParameters($formel); - $formel = $this->parseVariables($formel); + while((strpos($formel,'$F') !== false || strpos($formel,'$P') !== false || strpos($formel,'$V') !== false || strpos($formel,'$CV') !== false) && $i < 12) { + $formel = $this->parseCalcVariables($formel, $breakValid); + $formel = $this->parseFormulas($formel, $breakValid); + $formel = $this->parseParameters($formel, $breakValid); + $formel = $this->parseVariables($formel, $breakValid); $i++; } @@ -45,7 +45,7 @@ class Formel } - private function parseVariables($formel) + private function parseVariables($formel, $breakValid = false) { preg_match_all('/\$V\w*\$V/', $formel, $founds); @@ -69,6 +69,9 @@ class Formel } } } else { + if($breakValid) { + $this->engine->validDirty = true; + } $formel = str_replace($found, 0, $formel); } } @@ -77,7 +80,7 @@ class Formel return $formel; } - private function parseParameters($formel) + private function parseParameters($formel, $breakValid = false) { preg_match_all('/\$P\w*\$P/', $formel, $founds); @@ -93,6 +96,9 @@ class Formel if (isset($$foundvalue)) { $formel = str_replace($found, $$foundvalue, $formel); } else { + if($breakValid) { + $this->engine->validDirty = true; + } $formel = str_replace($found, 0, $formel); } } @@ -101,7 +107,7 @@ class Formel return $formel; } - private function parseFormulas($formel) + private function parseFormulas($formel, $breakValid = false) { preg_match_all('/\$F\w*\$F/', $formel, $founds); @@ -118,6 +124,9 @@ class Formel if(isset($$foundvalue)) { $formel = str_replace($found, $$foundvalue, $formel); }else{ + if($breakValid) { + $this->engine->validDirty = true; + } $formel = str_replace($found, 0, $formel); } } @@ -126,7 +135,7 @@ class Formel return $formel; } - private function parseCalcVariables($formel) + private function parseCalcVariables($formel, $breakValid = false) { preg_match_all('/\$CV[\w\.]*\$CV/', $formel, $founds); $variables = $this->engine->getCalcVariables(); @@ -153,6 +162,9 @@ class Formel } } } else { + if($breakValid) { + $this->engine->validDirty = true; + } $formel = str_replace($found, 0, $formel); } } @@ -160,4 +172,4 @@ class Formel return $formel; } -} \ No newline at end of file +} diff --git a/src/Calc/Valid.php b/src/Calc/Valid.php index 2a6d5ad..92ca295 100644 --- a/src/Calc/Valid.php +++ b/src/Calc/Valid.php @@ -69,7 +69,7 @@ class Valid $groupsValid[$collection->getName()] = false; if(trim($collection->getFormel()) != "") { - $value = $this->formelCalc->parse($collection->getFormel()); + $value = $this->formelCalc->parse($collection->getFormel(), true); eval('$value = ' . $value . ';'); /** @var Edge $edge */ foreach ($collection as $edge) { @@ -107,6 +107,9 @@ class Valid if($option->getDefault() !== null && $opt->isValid() && !$isDefaultValid) { $option->setDefault($opt->getId()); $this->engine->setVariable($option->getId(), $opt->getId()); + if(isset($this->engine->validVars[$option->getId()]) && $opt->getId() != $this->engine->validVars[$option->getId()]) { + $this->engine->validDirty = true; + } $isDefaultValid = true; } @@ -170,7 +173,7 @@ class Valid if(!$collValid) { $mainEdges = false; break; - } + } } if(!$mainEdges && $option->isValid()) { @@ -197,7 +200,6 @@ class Valid $skipTests = true; } - if(!$skipTests && !$valid && $edge->isRegion() && $edge->getFrom() <= $this->engine->getVariables()[$section] && $edge->getTo() >= $this->engine->getVariables()[$section]) { diff --git a/src/Engine.php b/src/Engine.php index 636d561..69deb5f 100644 --- a/src/Engine.php +++ b/src/Engine.php @@ -67,6 +67,10 @@ class Engine /** @var bool */ protected $dirty = true; + public $validDirty = true; + + public $validVars = []; + /** @var Article */ protected $article = null; @@ -612,30 +616,31 @@ class Engine private function processCalc(): void { + $this->validDirty = true; + $count = 1; // Check if Option is valid + while($this->validDirty && $count < 4) { + $this->validDirty = false; + $this->validVars = $this->variables; + + $calcValid = new Valid($this, $this->article); + $calcValid->perform(); + + // CALC Values + $calcValues = new CalcValues($this, $this->article); + $calcValues->calc(); + + $count++; + } + $calcValid = new Valid($this, $this->article); $calcValid->perform(); // CALC Values $calcValues = new CalcValues($this, $this->article); $calcValues->calc(); - + // Check if Option is valid - $calcValid = new Valid($this, $this->article); - $calcValid->perform(); - - // CALC Values - $calcValues = new CalcValues($this, $this->article); - $calcValues->calc(); - - // Check if Option is valid - $calcValid = new Valid($this, $this->article); - $calcValid->perform(true); - - // CALC Values - $calcValues = new CalcValues($this, $this->article); - $calcValues->calc(); - // CALC Formel $calcFormel = new Calc($this, $this->article); $this->price = $calcFormel->calc(); diff --git a/tests/Complex/FirstTest.php b/tests/Complex/FirstTest.php index 3102dc6..0ab6c19 100644 --- a/tests/Complex/FirstTest.php +++ b/tests/Complex/FirstTest.php @@ -37,7 +37,7 @@ class FirstTest extends TestCase public function testIfArticleCountIsCorrect(): void { - $this->assertEquals(1, $this->engine->getArticles()->Count()); + $this->assertEquals(1, $this->engine->getArticles()->count()); } public function testIfDefaultPriceIsOk(): void diff --git a/tests/Customer/JJ/CalcFasterTest.php b/tests/Customer/JJ/CalcFasterTest.php new file mode 100644 index 0000000..76328ba --- /dev/null +++ b/tests/Customer/JJ/CalcFasterTest.php @@ -0,0 +1,48 @@ +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_better.xml')); + + + } + + public function tearDown(): void + { + $this->engine = null; + } + + public function testPrice(): void + { + $this->engine->calc(); + + $this->assertSame(44.07, $this->engine->getPrice()); + } + +} diff --git a/tests/Customer/JJ/CalcTest.php b/tests/Customer/JJ/CalcTest.php new file mode 100644 index 0000000..96303ce --- /dev/null +++ b/tests/Customer/JJ/CalcTest.php @@ -0,0 +1,47 @@ +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 testPrice(): void + { + $this->engine->calc(); + $this->assertSame(44.07, $this->engine->getPrice()); + } + +} diff --git a/tests/Customer/JJ/calc.xml b/tests/Customer/JJ/calc.xml new file mode 100644 index 0000000..0300975 --- /dev/null +++ b/tests/Customer/JJ/calc.xml @@ -0,0 +1,1240 @@ + + + + Blöcke + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Customer/JJ/calcTemplates.xml b/tests/Customer/JJ/calcTemplates.xml new file mode 100644 index 0000000..5ce6d70 --- /dev/null +++ b/tests/Customer/JJ/calcTemplates.xml @@ -0,0 +1,20 @@ + + + + diff --git a/tests/Customer/JJ/calc_better.xml b/tests/Customer/JJ/calc_better.xml new file mode 100644 index 0000000..643d724 --- /dev/null +++ b/tests/Customer/JJ/calc_better.xml @@ -0,0 +1,1230 @@ + + + + Blöcke + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Customer/JJ/formels.txt b/tests/Customer/JJ/formels.txt new file mode 100644 index 0000000..31d3032 --- /dev/null +++ b/tests/Customer/JJ/formels.txt @@ -0,0 +1,871 @@ +// -------------------------------------------------------- +// +// Offsetdruck wie Keyline +// +// -------------------------------------------------------- + +// -------------------- +// Allgemeine Hilffunktionen +if(!function_exists('rangeSwitch')) { + function rangeSwitch($value, ...$args) { + $count = count($args); + for ($i = 0; $i < $count - 2; $i += 3) { + $start = $args[$i]; + $end = $args[$i + 1]; + $result = $args[$i + 2]; + if ($value >= $start && $value <= $end) { + return $result; + } + } + // Optionaler Standardwert, falls überzähliges Argument vorhanden + if ($count % 3 === 1) { + return $args[$count - 1]; + } + return null; // oder throw Exception, je nachdem + } +} + + +// Allgemeine Hilfsformeln + +//Gesamtanzahl der Sonderfarben +$helper_sonderfarben_count = + '( + (($CVfarbe_1_v_valid$CV && ($Vfarbe_1_v$V == 2 || $Vfarbe_1_v$V == 3))? 1 : 0 ) + + (($CVfarbe_2_v_valid$CV && ($Vfarbe_2_v$V == 2 || $Vfarbe_2_v$V == 3))? 1 : 0 ) + + (($CVfarbe_3_v_valid$CV && ($Vfarbe_3_v$V == 2 || $Vfarbe_3_v$V == 3))? 1 : 0 ) + + (($CVfarbe_4_v_valid$CV && ($Vfarbe_4_v$V == 2 || $Vfarbe_4_v$V == 3))? 1 : 0 ) + + (($CVfarbe_1_r_valid$CV && ($Vfarbe_1_r$V == 2 || $Vfarbe_1_r$V == 3))? 1 : 0 ) + + (($CVfarbe_2_r_valid$CV && ($Vfarbe_2_r$V == 2 || $Vfarbe_2_r$V == 3))? 1 : 0 ) + + (($CVfarbe_3_r_valid$CV && ($Vfarbe_3_r$V == 2 || $Vfarbe_3_r$V == 3))? 1 : 0 ) + + (($CVfarbe_4_r_valid$CV && ($Vfarbe_4_r$V == 2 || $Vfarbe_4_r$V == 3))? 1 : 0 ) + )'; + +//Gesamtanzahl der Farben +$helper_farben_count = + '( + (($CVfarbe_1_v_valid$CV)? 1 : 0 ) + + (($CVfarbe_2_v_valid$CV)? 1 : 0 ) + + (($CVfarbe_3_v_valid$CV)? 1 : 0 ) + + (($CVfarbe_4_v_valid$CV)? 1 : 0 ) + + (($CVfarbe_1_r_valid$CV)? 1 : 0 ) + + (($CVfarbe_2_r_valid$CV)? 1 : 0 ) + + (($CVfarbe_3_r_valid$CV)? 1 : 0 ) + + (($CVfarbe_4_r_valid$CV)? 1 : 0 ) + )'; + +// Hilfsformel zu verarbeitende Güter +$helper_zu_verarbeitende_gueter = + '(ceil( + $Fhelper_anzahl_druckboegen$F + + (($Vdruckverfahren$V == 2)? $Fhelper_ausschuss_offset$F : 0) + + (($Vdruckverfahren$V == 1)? $Fhelper_ausschuss_digital$F : 0) + + (($Vvorschneiden$V == 1)? ($Pvorschneiden_fixer_ausschuss$P / $CVformat_1$CV): 0) + + (($Vschneiden$V == 1)? ($Pschneiden_fixer_ausschuss$P / $CVformat_1$CV) : 0) + + (($Vrillen$V == 1)? ($Prillen_und_falzen_fixer_ausschuss$P / $CVformat_1$CV) : 0) + ))'; + +// Hilfsformel Druckgänge +$helper_anzahl_druckgaenge = + '( + ($CVdruckfarben_2$CV > 0)? 2 : 1 + )'; + +// Hilfsformel Druckbogen (Anzahl der Plattenwechsel die notwendig sind, nicht zu verwechseln mit helper_anzahl_druckboegen) +// Formel funkioniert derzeit nur für einfache Briefbögen, für komplexere Produkte müsste man herausfinden wie die Druckbogen richtig berechnet werden können. +// Faustregel für alles was keine Broschüre ist = 1 +// Faustregel für Broschüre ceil( Seitenzahl / (Nutzen * 2)) +// Erklärung hierzu: Bei A4 z.B. 2 Nutzen pro Druckbogen, die *2 sind für die Beidseitigkeit. Seitenzahl der Broschüre, durch den beidseitigen Nutzen aufgerundet sollte für Broschüren hier den richtigen wert geben. Für den offset-bbg wird derzeit einfach der Wert 1 für die Berechnung übergeben + +$helper_anzahl_druckbogen = + '( + ceil($Vseitenanzahl$V / ($CVformat_1$CV * 2)) + )'; + + +// -------------------- +// MEDIENGESTALTER Druckdatenvorbereitung und Prüfung + +$mediengestalter = + '(( + (180 / 60) + + ((3600 / $Pmediengestalter_komponenten_pro_stunde$P) / 60) + + (60 / 60) + ) * ($Pmediengestalter_stundenpreis$P / 60))'; + +$mediengestalter_reduziert = + '(( + (60 / 60) + + ((3600 / $Pmediengestalter_reduziert_komponenten_pro_stunde$P) / 60) + + (60 / 60) + ) * ($Pmediengestalter_stundenpreis$P / 60))'; + + +// -------------------- +// DRUCKPLATTENBELICHTUNG + +// Hilfsformel Druckplatten-Anzahl +$helper_anzahl_druckplatten = + '( + ($CVdruckfarben_1$CV + $CVdruckfarben_2$CV) + * ((($Vfarberueck_valid$V? $Vfarberueck$V : 2) == 1)? 1 : 0.5) + )'; + +// Druckplatten belichten +$offset_druckplatten_belichten = + '( + (($Fhelper_anzahl_druckplatten$F * $Pdruckplattenkosten$P) / 100) + + ((($Fhelper_anzahl_druckplatten$F * (3600 / $Pdruckplattenbelichtung_pro_stunde$P)) / 60 ) * ($Psuprasetter_stundenpreis$P / 60)) + + (($Fhelper_anzahl_druckplatten$F * $Pdruckplattenkosten_extern$P) / 100) + )'; + + +// -------------------- +// PAPIERBEDARF + +// Hilfsformel Druckbögen +$helper_anzahl_druckboegen = + '( + $Vauflage$V / $CVformat_1$CV + )'; + +// Hiflsformel Ausschuss + +$helper_ausschuss_offset = + '( + ($Fhelper_anzahl_druckboegen$F * ($Pspeedmaster_ausschussrate$P / 100)) + $Fhelper_anzahl_druckbogen$F * $Pspeedmaster_fixer_ausschuss$P + + (($Fhelper_sonderfarben_count$F > 0)? $Pspeedmaster_fixer_ausschuss$P : 0 ) + )'; + +$helper_ausschuss_digital = + '( + ($Fhelper_anzahl_druckboegen$F * ($Pversafire_ausschussrate$P / 100)) + ($Pversafire_fixer_ausschuss$P / $CVformat_1$CV) + )'; + +$helper_ausschuss_horizon = + '( + ($Fhelper_anzahl_druckboegen$F * ($Prillen_und_falzen_ausschussrate$P / 100)) + ($Prillen_und_falzen_fixer_ausschuss$P / $CVformat_1$CV) + )'; + +// Druckbogen-Kosten +$offset_druckbogen_preis = + '( + $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_value$V / 1000) + )'; + +// Druckbogen-Kosten (digital) +$digital_druckbogen_preis = + '( + $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_value$V / 1000) + )'; + + +// -------------------- +// OFFSETDRUCK + +$offset_ruest = + '(( + (($Vdruckfarben$V > 10 || $Vdruckfarben$V == 1 || $Vdruckfarben$V == 0)? 1 : 0.75) + * $Peinrichten_farbe_und_passer$P + * $Fhelper_anzahl_druckgaenge$F + + ($Pruestzeit_pro_platte$P * $Fhelper_anzahl_druckplatten$F) + + ($Pruestzeit_pro_sonderfarbe$P * $Fhelper_sonderfarben_count$F) + ) + * ($Pspeedmaster_stundenpreis$P / 60))'; + +$offset = + '((( + (3600 / $Pspeedmaster_bogen_pro_stunde$P) + * ($Fhelper_zu_verarbeitende_gueter$F * $Fhelper_anzahl_druckgaenge$F) + * ( (($Fhelper_zu_verarbeitende_gueter$F > 1 && $Fhelper_zu_verarbeitende_gueter$F < 501)? 1.7 : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 500 && $Fhelper_zu_verarbeitende_gueter$F < 1001)? 1.4 : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 1000 && $Fhelper_zu_verarbeitende_gueter$F < 1501)? 1.1 : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 1500 && $Fhelper_zu_verarbeitende_gueter$F < 2000001)? 1 : 0 ) ) + * ( + ($Vpapier_eigenschaften$V == "coated")? + ( (($Vpapier_grammatur$V > 49 && $Vpapier_grammatur$V < 61)? 2.9 : 0 ) + + (($Vpapier_grammatur$V > 60 && $Vpapier_grammatur$V < 71)? 2.3 : 0 ) + + (($Vpapier_grammatur$V > 70 && $Vpapier_grammatur$V < 81)? 2 : 0 ) + + (($Vpapier_grammatur$V > 80 && $Vpapier_grammatur$V < 101)? 1.7 : 0 ) + + (($Vpapier_grammatur$V > 100 && $Vpapier_grammatur$V < 161)? 1 : 0 ) + + (($Vpapier_grammatur$V > 160 && $Vpapier_grammatur$V < 241)? 1.1 : 0 ) + + (($Vpapier_grammatur$V > 240 && $Vpapier_grammatur$V < 251)? 1.6 : 0 ) + + (($Vpapier_grammatur$V > 250 && $Vpapier_grammatur$V < 451)? 2 : 0 ) + ) + : ( (($Vpapier_grammatur$V > 49 && $Vpapier_grammatur$V < 161)? 1 : 0 ) + + (($Vpapier_grammatur$V > 160 && $Vpapier_grammatur$V < 251)? 1.1 : 0 ) + + (($Vpapier_grammatur$V > 250 && $Vpapier_grammatur$V < 301)? 1.4 : 0 ) + + (($Vpapier_grammatur$V > 300 && $Vpapier_grammatur$V < 451)? 1.5 : 0 ) + ) + ) + ) + ( + ($Fhelper_zu_verarbeitende_gueter$F < 5000)? + ( + ((($Vfarberueck_valid$V? $Vfarberueck$V : 2) == 1)? 0 : 300) + (($Fhelper_anzahl_druckgaenge$F < 2)? 0 : 300) + ) : 0 + ) + ( (($Fhelper_zu_verarbeitende_gueter$F > 0 && $Fhelper_zu_verarbeitende_gueter$F < 5001)? (1 * $Poffset_gummituch_waschen$P) : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 5000 && $Fhelper_zu_verarbeitende_gueter$F < 20001)? (2 * $Poffset_gummituch_waschen$P) : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 20000 && $Fhelper_zu_verarbeitende_gueter$F < 40001)? (3 * $Poffset_gummituch_waschen$P) : 0 ) + + (($Fhelper_zu_verarbeitende_gueter$F > 40000 && $Fhelper_zu_verarbeitende_gueter$F < 100001)? (4 * $Poffset_gummituch_waschen$P) : 0 ) + + ($Fhelper_anzahl_druckbogen$F * $Fhelper_anzahl_druckgaenge$F * $Poffset_gummituch_waschen$P) + )) / 60 + ) * ($Pspeedmaster_stundenpreis$P / 60)'; + +$zwischensumme = '$Vpapier_grammatur$V'; + +$offset_aufraeum = + '(( + $Pspeedmaster_aufraeumgrundzeit$P + + ($Pspeedmaster_aufraeumzeit_pro_sonderfarbe$P * $Fhelper_sonderfarben_count$F) + ) + * ($Pspeedmaster_stundenpreis$P / 60))'; + + +// -------------------- +// DIGITALDRUCK + +$digital_ruest = + '( + $Pversafire_ruest_grundzeit$P * ($Pversafire_stundenpreis$P / 60))'; + +$digital = + '( + 3600 / rangeSwitch($CVformat_5$CV, + 1, 230, $Pversafire_seiten_pro_stunde$P, + 231, 420, $Pversafire_seiten_pro_stunde$P / 1.86, + 421, 450, $Pversafire_seiten_pro_stunde$P / 1.98, + 451, 460, $Pversafire_seiten_pro_stunde$P / 2.02, + 461, 480, $Pversafire_seiten_pro_stunde$P / 2.12, + 481, 700, $Pversafire_seiten_pro_stunde$P / 3.63, + 701, 1000, $Pversafire_seiten_pro_stunde$P / 4.6) * ((($Fhelper_zu_verarbeitende_gueter$F - ($Pvorschneiden_fixer_ausschuss$P / $CVformat_1$CV)) * $CVformat_1$CV) * $Fhelper_anzahl_druckgaenge$F) + ) * ($Pversafire_stundenpreis$P / 3600)'; + +$digital_fremd = + '( + ((($CVdruckfarben_1$CV > 1)? ( + rangeSwitch($CVformat_4$CV, + 100, 480, $Pversafire_farbklick_bis_480$P, + 481, 700, $Pversafire_farbklick_bis_700$P, + 701, 1000, $Pversafire_farbklick_bis_1000$P) + ):( + rangeSwitch($CVformat_4$CV, + 100, 480, $Pversafire_swklick_bis_480$P, + 481, 700, $Pversafire_swklick_bis_700$P, + 701, 1000, $Pversafire_swklick_bis_1000$P) + )) + * ($Fhelper_zu_verarbeitende_gueter$F - ($Pvorschneiden_fixer_ausschuss$P / $CVformat_1$CV)) * $CVformat_1$CV * (($CVdruckfarben_1$CV == 0)?0:1)) + + ((($CVdruckfarben_2$CV > 1)?( + rangeSwitch($CVformat_4$CV, + 100, 480, $Pversafire_farbklick_bis_480$P, + 481, 700, $Pversafire_farbklick_bis_700$P, + 701, 1000, $Pversafire_farbklick_bis_1000$P) + ):( + rangeSwitch($CVformat_4$CV, + 100, 480, $Pversafire_swklick_bis_480$P, + 481, 700, $Pversafire_swklick_bis_700$P, + 701, 1000, $Pversafire_swklick_bis_1000$P) + )) + * ($Fhelper_zu_verarbeitende_gueter$F - ($Pvorschneiden_fixer_ausschuss$P / $CVformat_1$CV)) * $CVformat_1$CV * (($CVdruckfarben_2$CV == 0)?0:1)) + )'; + +$digital_aufraeum = + '( + $Pversafire_aufraeum_grundzeit$P * ($Pversafire_stundenpreis$P / 60))'; + +// -------------------- +// FARBENVERBRAUCH + +// Bedruckte Oberflächen (seitigkeit) +$helper_anzahl_der_bedruckten_oberflaechen = + '( + ($CVdruckfarben_2$CV > 0)? 2 : 1 + )'; + +// Offset-Farbverbrauch +$offset_farbverbrauch = + '( + ceil(($Vpapier_eigenschaften$V == "coated")? + ( + ((( $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_laenge$V * $Vpapier_breite$V/1000000)) * 0.15) * 1.6) + ):( + ((( $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_laenge$V * $Vpapier_breite$V/1000000)) * 0.15) * 1.8) + ) + ) * $Fhelper_sonderfarben_count$F * 0.04 + ) + ( + ceil(($Vpapier_eigenschaften$V == "coated")? + ( + ((( $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_laenge$V * $Vpapier_breite$V/1000000)) * 0.15) * 1.6) + ):( + ((( $Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_laenge$V * $Vpapier_breite$V/1000000)) * 0.15) * 1.8) + ) + ) * + ( + (($CVfarbe_1_v_valid$CV && ($Vfarbe_1_v$V == 1))? 1 : 0 ) + + (($CVfarbe_2_v_valid$CV && ($Vfarbe_2_v$V == 1))? 1 : 0 ) + + (($CVfarbe_3_v_valid$CV && ($Vfarbe_3_v$V == 1))? 1 : 0 ) + + (($CVfarbe_4_v_valid$CV && ($Vfarbe_4_v$V == 1))? 1 : 0 ) + + (($CVfarbe_1_r_valid$CV && ($Vfarbe_1_r$V == 1))? 1 : 0 ) + + (($CVfarbe_2_r_valid$CV && ($Vfarbe_2_r$V == 1))? 1 : 0 ) + + (($CVfarbe_3_r_valid$CV && ($Vfarbe_3_r$V == 1))? 1 : 0 ) + + (($CVfarbe_4_r_valid$CV && ($Vfarbe_4_r$V == 1))? 1 : 0 ) + ) * 0.008464 + )'; + +// Aufpreis Pantone +$pantone_aufpreis = + '( + (($CVfarbe_1_v_valid$CV && ($Vfarbe_1_v$V == 3))? 1 : 0 ) + + (($CVfarbe_2_v_valid$CV && ($Vfarbe_2_v$V == 3))? 1 : 0 ) + + (($CVfarbe_3_v_valid$CV && ($Vfarbe_3_v$V == 3))? 1 : 0 ) + + (($CVfarbe_4_v_valid$CV && ($Vfarbe_4_v$V == 3))? 1 : 0 ) + + (($CVfarbe_1_r_valid$CV && ($Vfarbe_1_r$V == 3))? 1 : 0 ) + + (($CVfarbe_2_r_valid$CV && ($Vfarbe_2_r$V == 3))? 1 : 0 ) + + (($CVfarbe_3_r_valid$CV && ($Vfarbe_3_r$V == 3))? 1 : 0 ) + + (($CVfarbe_4_r_valid$CV && ($Vfarbe_4_r$V == 3))? 1 : 0 ) + ) * 25'; + + +// -------------------- +// SCHNEIDEN + +$schneiden_ruest = + '( + ($Ppolar78_ruest_grundzeit$P + ( $Ppolar78_ruest_pro_schnitt$P * $CVformat_2$CV )) + * ($Ppolar78_stundenlohn$P / 60) + )'; + +$schneiden = + '( + (ceil( + ($Fhelper_anzahl_druckboegen$F * ($Vpapier_staerke$V / 1000)) / $Peinlegehoehe_schneidemaschine$P) + ) + * ($CVformat_2$CV * (3600 / $Pschnitte_pro_stunde$P)) + / 60 * ($Ppolar78_stundenlohn$P / 60) + )'; + +$schneiden_aufraeum = + '( + $Ppolar78_aufraeum_grundzeit$P * ($Ppolar78_stundenlohn$P / 60) + )'; + +$vorschneiden_ruest = + '( + ($Ppolar78_ruest_pro_schnitt$P * $CVformat_3$CV) * ($Ppolar78_stundenlohn$P / 60) + )'; + +$vorschneiden = + '(( + (ceil( + ($Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_staerke$V / 1000)) / $Peinlegehoehe_schneidemaschine$P) + ) + * ($CVformat_3$CV * (3600 / $Pschnitte_pro_stunde$P)) + / 60 + ) * 2.1) * ($Ppolar78_stundenlohn$P / 60)'; + +$vorschneiden_aufraeum = + '( + $Ppolar78_aufraeum_grundzeit$P * ($Ppolar78_stundenlohn$P / 60) + )'; + +$debug = '(ceil( + ($Fhelper_zu_verarbeitende_gueter$F * ($Vpapier_staerke$V / 1000)) / $Peinlegehoehe_schneidemaschine$P) + )'; + + +// -------------------- +// VERPACKEN / könnte sein, dass dies auch überholt ist, da es verpacken2 gibt + +$helper_anzahl_verpackungen = + 'ceil( + $Vauflage$V / 1000 + )'; + +$helper_anzahl_umverpackungen = + '( + ceil($Fhelper_anzahl_verpackungen$F / 4) + )'; + +$verpacken = + '( + ((60 / $Pverpackungen_pro_stunde$P) * $Fhelper_anzahl_verpackungen$F) * ($Pversandmitarbeiter_pro_stunde$P / 60) + )'; + +$verpacken_kartons = '$Fhelper_anzahl_verpackungen$F * $Pkarton_preis$P'; + +$umverpacken = + '( + ((60 / $Pverpackungen_pro_stunde$P) * $Fhelper_anzahl_umverpackungen$F) * ($Pversandmitarbeiter_pro_stunde$P / 60) + )'; + +$umverpacken_kartons = '$Fhelper_anzahl_umverpackungen$F * $Pumkarton_preis$P'; + + +// -------------------- +// BOHREN + +$bohren_ruest = + '(( + $Pbohren_ruestgrundzeit$P * ceil($Vabheftlochung$V / 2) + ) * ($Pbohren_stundenlohn$P / 60))'; + +$bohren = + '( + (( + (ceil( + (($Vseitenanzahl$V / 2) * ($Vauflage$V * ($Vpapier_staerke$V / 1000))) / $Peinlegehoehe_bohrmaschine$P) + ) * (3600 / $Pbohrungen_pro_stunde$P) * (($Vabheftlochung$V > 2)? 1.3 : 1) + ) / 60) * ($Pbohren_stundenlohn$P / 60) + )'; + +$bohren_aufraeum = + '( + $Pbohren_aufraeumgrundzeit$P * ($Pbohren_stundenlohn$P / 60) + )'; + +// -------------------- +// RILLEN + +$rillen_und_falzen_ruest = + '( + ( $Phorizon_ruestgrundzeit$P * 1.5 * $CVseiten_1$CV ) + ) * ($Phorizon_stundenlohn$P / 60)'; + +$rillen_und_falzen = + '(( + $Vauflage$V * (3600 / $Phorizon_boegen_pro_stunde$P) + * (($CVseiten_1$CV == 1)? 1.2 : 1.5) + * rangeSwitch( (($CVformat_8$CV == $CVformat_5$CV)? $CVformat_7$CV : $CVformat_8$CV), + 1, 200, 1, + 201, 250, 1.1, + 251, 300, 1.15, + 301, 350, 1.2, + 351, 400, 1.3, + 401, 450, 1.35, + 451, 600, 1.4) + * (($Vauflage$V > 2500)? 0.8 : 1) + ) / 60) * ($Phorizon_stundenlohn$P / 60)'; + +$rillen_und_falzen_aufraeum = + '( + $Phorizon_aufraeumgrundzeit$P * ($Phorizon_stundenlohn$P / 60) + )'; + +// -------------------- +// BANDAROLIEREN + +$bandarolieren_ruest = + '( + $Pbandarolieren_ruestgrundzeit$P * ($Pbandarolieren_stundenlohn$P / 60) + )'; + +$bandarolieren = + '( + (($Fhelper_notwendige_kartons$F * (3600 / $Pbandarolieren_pro_stunde$P)) / 60) * ($Pbandarolieren_stundenlohn$P / 60) + )'; + +$bandarolieren_aufraeum = + '( + $Fbandarolieren_aufraeumgrundzeit$F * ($Pbandarolieren_stundenlohn$P / 60) + )'; + +$verpacken2 = + '( + ((60 / $Pverpackungen_pro_stunde$P) * $Fhelper_notwendige_kartons$F) * ($Pversandmitarbeiter_pro_stunde$P / 60) + )'; + +// -------------------- +// Profi-Datencheck +$profidaten_check = '(($Vdatencheck$V == 2)? 7: 0)'; + +// VERSANDHELPER + +// CV6 von Format: die Stapelanzahl pro Box und Format mitgegeben, sonst wird von 1nem Stapel pro Karton ausgegangen +$helper_notwendige_kartons = 'ceil(($Vauflage$V / ($CVformat_6_valid$CV? $CVformat_6$CV : 1)) / floor($Pkarton_hoehe$P / ($Vpapier_staerke$V/1000)))'; + +$helper_gewicht_eines_kartons = + '( + (($Vauflage$V < floor($Pkarton_hoehe$P / ($Vpapier_staerke$V/1000)))?$Vauflage$V:(floor($Pkarton_hoehe$P / ($Vpapier_staerke$V/1000)))) * ($CVformat_4$CV * $CVformat_5$CV / 1000000) * $Vpapier_grammatur$V + )'; + +$helper_exemplare_pro_karton = + '( + floor($Pkarton_hoehe$P / ($Vpapier_staerke$V/1000)) * ($CVformat_6_valid$CV? $CVformat_6$CV : 1) + )'; + + +// VERSAND + +$versandgewicht = '($Fhelper_gewicht_eines_kartons$F * $Fhelper_notwendige_kartons$F + $Fhelper_notwendige_kartons$F * $Pkarton_gewicht$P) / 1000'; +$versandpreisDPD = '(($Fversandgewicht$F < 3 && $Vcarrier$V == 2)? $Pdpd_bis_3kg$P : 0) + +(($Fversandgewicht$F > 3 && $Fversandgewicht$F < 5 && $Vcarrier$V == 2)? $Pdpd_bis_5kg$P : 0) + +(($Fversandgewicht$F > 5 && $Fversandgewicht$F < 10 && $Vcarrier$V == 2)? $Pdpd_bis_10kg$P : 0) + +(($Fversandgewicht$F > 10 && $Fversandgewicht$F < 15 && $Vcarrier$V == 2)? $Pdpd_bis_15kg$P : 0) + +(($Fversandgewicht$F > 15 && $Fversandgewicht$F < 20 && $Vcarrier$V == 2)? $Pdpd_bis_20kg$P : 0) + +(($Fversandgewicht$F > 20 && $Fversandgewicht$F < 25 && $Vcarrier$V == 2)? $Pdpd_bis_25kg$P : 0) + +(($Fversandgewicht$F > 25 && $Fversandgewicht$F < 31.5 && $Vcarrier$V == 2)? $Pdpd_bis_31kg$P : 0) + +(($Fversandgewicht$F > 31.5 && $Fversandgewicht$F < 80 && $Vcarrier$V == 2)? (floor($Fversandgewicht$F / 20) * $Pdpd_bis_20kg$P) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 3)? $Pdpd_bis_3kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 3 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 5))? $Pdpd_bis_5kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 5 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 10))? $Pdpd_bis_10kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 10 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 15))? $Pdpd_bis_15kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 15 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 20))? $Pdpd_bis_20kg$P : 0) + : 0) + +(($Fversandgewicht$F > 80 && $Vcarrier$V == 2)? $Pspeditionspreis_pro_kg$P * $Fversandgewicht$F : 0)'; + +$versandpreisDHL = '(($Fversandgewicht$F < 1 && $Vcarrier$V == 1)? $Ppaket_DHL_0_1_kg$P : 0) + +(($Fversandgewicht$F > 1 && $Fversandgewicht$F < 3 && $Vcarrier$V == 1)? $Ppaket_DHL_1_3_kg$P : 0) + +(($Fversandgewicht$F > 3 && $Fversandgewicht$F < 5 && $Vcarrier$V == 1)? $Ppaket_DHL_3_5_kg$P : 0) + +(($Fversandgewicht$F > 5 && $Fversandgewicht$F < 10 && $Vcarrier$V == 1)? $Ppaket_DHL_5_10_kg$P : 0) + +(($Fversandgewicht$F > 10 && $Fversandgewicht$F < 20 && $Vcarrier$V == 1)? $Ppaket_DHL_10_20_kg$P : 0) + +(($Fversandgewicht$F > 20 && $Fversandgewicht$F < 31 && $Vcarrier$V == 1)? $Ppaket_DHL_20_31_kg$P : 0) + +(($Fversandgewicht$F > 31 && $Fversandgewicht$F < 80 && $Vcarrier$V == 1)? (floor($Fversandgewicht$F / 20) * $Ppaket_DHL_10_20_kg$P) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 1)? $Ppaket_DHL_0_1_kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 1 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 3))? $Ppaket_DHL_1_3_kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 3 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 5))? $Ppaket_DHL_3_5_kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 5 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 10))? $Ppaket_DHL_5_10_kg$P : 0) + + ((($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) > 10 && (($Fversandgewicht$F - (20 * floor($Fversandgewicht$F / 20))) < 20))? $Ppaket_DHL_10_20_kg$P : 0) + : 0) + +(($Fversandgewicht$F > 80 && $Vcarrier$V == 1)? $Pspeditionspreis_pro_kg$P * $Fversandgewicht$F : 0)'; + +$versand_selbstauslieferung_SOB = + '( + $Fhelper_notwendige_kartons$F * $Pkarton_preis$P + + 5 + )'; + + +// ++++++++++++++ BBG(OFFSET) Kalkulation ++++++++++++++ +$bbg_vollkalkulation = + '( + $Fmediengestalter_reduziert$F + + $Foffset_druckplatten_belichten$F + + $Foffset_ruest$F + + $Foffset$F + + $Foffset_aufraeum$F + + $Foffset_druckbogen_preis$F + + $Foffset_farbverbrauch$F + + $Fpantone_aufpreis$F + + $Fschneiden_ruest$F + + $Fschneiden$F + + $Fschneiden_aufraeum$F + + $Fverpacken$F + + $Fverpacken_kartons$F + + $Fumverpacken$F + + $Fumverpacken_kartons$F + + $Fbohren_ruest$F + + $Fbohren$F + + $Fbohren_aufraeum$F + + $Fprofidaten_check$F + ) * $Poffset_marge$P + $FversandpreisDHL$F + $FversandpreisDPD$F'; + +$bbg_weight = + '( + $Fhelper_gewicht_eines_kartons$F * $Fhelper_notwendige_kartons$F + + $Fhelper_notwendige_kartons$F * $Pkarton_gewicht$P + )'; + +// ++++++++++++++ Blöcke Kalkulation ++++++++++++++ +$bloecke_vollkalkulation = + '( + $Fmediengestalter_reduziert$F + + $Fvorschneiden_ruest$F + + $Fvorschneiden$F + + $Fvorschneiden_aufraeum$F + + (($Vdruckverfahren$V == 2)? $Foffset_druckplatten_belichten$F : 0) + + (($Vdruckverfahren$V == 2)? $Foffset_ruest$F : $Fdigital_ruest$F) + + (($Vdruckverfahren$V == 2)? $Foffset$F : $Fdigital$F) + + (($Vdruckverfahren$V == 2)? $Foffset_aufraeum$F : $Fdigital_aufraeum$F) + + (($Vdruckverfahren$V == 2)? $Foffset_druckbogen_preis$F : $Fdigital_druckbogen_preis$F) + + (($Vdruckverfahren$V == 2)? $Foffset_farbverbrauch$F : 0) + + (($Vdruckverfahren$V == 2)? $Fpantone_aufpreis$F : 0) + + $Fzwischenschneiden_ruest$F + + $Fzwischenschneiden$F + + $Fzwischenschneiden_aufraeum$F + + $Fleimen_ruest$F + + $Fleimen$F + + $Fleimen_aufraeum$F + + $Fschneiden_ruest$F + + $Fschneiden$F + + $Fschneiden_aufraeum$F + + $Fverpacken$F + + $Fverpacken_kartons$F + + $Fumverpacken$F + + $Fumverpacken_kartons$F + + $Fbohren_ruest$F + + $Fbohren$F + + $Fbohren_aufraeum$F + + $Fprofidaten_check$F + ) * $Poffset_marge$P + $FversandpreisDHL$F + $FversandpreisDPD$F'; + +$bloecke_weight = + '( + $Fhelper_gewicht_eines_kartons$F * $Fhelper_notwendige_kartons$F + + $Fhelper_notwendige_kartons$F * $Pkarton_gewicht$P + )'; + + + +// ++++++++++++++ STADLER GUTSCHEIN Kalkulation ++++++++++++++ +$stadler_gutschein_vollkalkulation = + '( + $Fvorschneiden_ruest$F + + $Fvorschneiden$F + + $Fvorschneiden_aufraeum$F + + $Fdigital_ruest$F + + $Fdigital$F + + $Fdigital_fremd$F + + $Fdigital_aufraeum$F + + $Fdigital_druckbogen_preis$F + + $Fschneiden_ruest$F + + $Fschneiden$F + + $Fschneiden_aufraeum$F + + $Fverpacken2$F + ) * rangeSwitch($Vauflage$V, + 1, 1, 1.05, + 2, 2, 1.1, + 3, 3, 1.15, + 4, 4, 1.2, + 5, 5, 1.25, + 6, 6, 1.3, + 7, 7, 1.35, + 8, 8, 1.4, + 9, 9, 1.45, + 10, 10, 1.5, + 11, 13, 1.55, + 14, 17, 1.60, + 18, 20, 1.65, + 21, 26, 1.7, + 27, 32, 1.75, + 33, 36, 1.8, + 37, 41, 1.85, + 42, 45, 1.9, + 46, 50, 1.95, + 51, 53, 2.0, + 54, 56, 2.1, + 57, 59, 2.2, + 60, 63, 2.3, + 64, 66, 2.4, + 67, 69, 2.5, + 70, 72, 2.6, + 73, 100, 2.65 + ) + (($Vversandart$V == versand)? $Fversand_selbstauslieferung_SOB$F : 0)'; + +$stadler_gutschein_weight = + '( + $Fhelper_gewicht_eines_kartons$F * $Fhelper_notwendige_kartons$F + + $Fhelper_notwendige_kartons$F * $Pkarton_gewicht$P + )'; + + + +// ++++++++++++++ STADLER SPEISEKARTE Kalkulation ++++++++++++++ +$stadler_speisekarte_vollkalkulation = + '( + $Fdigital_ruest$F + + $Fdigital$F + + $Fdigital_fremd$F + + $Fdigital_aufraeum$F + + $Fdigital_druckbogen_preis$F + + $Fschneiden_ruest$F + + $Fschneiden$F + + $Fschneiden_aufraeum$F + + $Frillen_und_falzen_ruest$F + + $Frillen_und_falzen$F + + $Frillen_und_falzen_aufraeum$F + + $Fbandarolieren_ruest$F + + $Fbandarolieren$F + + $Fbandarolieren_aufraeum$F + + $Fverpacken2$F + ) * rangeSwitch($Vauflage$V, + 1, 1, 1.05, + 2, 2, 1.1, + 3, 3, 1.15, + 4, 4, 1.2, + 5, 5, 1.25, + 6, 6, 1.3, + 7, 7, 1.35, + 8, 8, 1.4, + 9, 9, 1.45, + 10, 10, 1.5, + 11, 13, 1.55, + 14, 17, 1.60, + 18, 20, 1.65, + 21, 26, 1.7, + 27, 32, 1.75, + 33, 36, 1.8, + 37, 41, 1.85, + 42, 45, 1.9, + 46, 50, 1.95, + 51, 53, 2.0, + 54, 56, 2.1, + 57, 59, 2.2, + 60, 63, 2.3, + 64, 66, 2.4, + 67, 69, 2.5, + 70, 72, 2.6, + 73, 100, 2.65 + ) + (($Vversandart$V == versand)? $Fversand_selbstauslieferung_SOB$F : 0)'; + +$stadler_speisekarte_weight = + '( + $Fhelper_gewicht_eines_kartons$F * $Fhelper_notwendige_kartons$F + + $Fhelper_notwendige_kartons$F * $Pkarton_gewicht$P + )'; + + + +//Gemeindeblatt Weichering +$gemeindeblatt_weichering = '($CVseiten_1$CV + $CVumschlag_1$CV) '; + +$gemeindeblatt_weichering_weight = + '( + (($Vseiten$V * $Vauflage$V * 210 * 297) / 1000000) * 80 + + 9 * $Pkarton_gewicht$P + )'; + +//SD-Sätze HELPER +//Papierpreis eines SD-Satzes in EUR +$sd_satz_helper_paper_price = + '( + ($CVblatt_o_valid$CV? ($Vblatt_o_value$V / 1000):0) + + ($CVblatt_2_valid$CV? ($Vblatt_2_value$V / 1000):0) + + ($CVblatt_3_valid$CV? ($Vblatt_3_value$V / 1000):0) + + ($CVblatt_4_valid$CV? ($Vblatt_4_value$V / 1000):0) + + ($CVblatt_s_valid$CV? ($Vblatt_s_value$V / 1000):0) + )'; + +//Die Höhe eines SD-Satzes in mm +$sd_satz_helper_paper_height = + '( + ($CVblatt_o_valid$CV? ($Vblatt_o_staerke$V / 1000):0) + + ($CVblatt_2_valid$CV? ($Vblatt_2_staerke$V / 1000):0) + + ($CVblatt_3_valid$CV? ($Vblatt_3_staerke$V / 1000):0) + + ($CVblatt_4_valid$CV? ($Vblatt_4_staerke$V / 1000):0) + + ($CVblatt_s_valid$CV? ($Vblatt_s_staerke$V / 1000):0) + )'; + +//Grammatur alles Blätter eines SD-Satzes (nicht das Gewicht eines Satzes) +$sd_satz_helper_paper_grammature = + '( + ($CVblatt_o_valid$CV? $Vblatt_o_grammatur$V:0) + + ($CVblatt_2_valid$CV? $Vblatt_2_grammatur$V:0) + + ($CVblatt_3_valid$CV? $Vblatt_3_grammatur$V:0) + + ($CVblatt_4_valid$CV? $Vblatt_4_grammatur$V:0) + + ($CVblatt_s_valid$CV? $Vblatt_s_grammatur$V:0) + )'; + +//Gesamtanzahl der Sonderfarben +$sd_satz_helper_sonderfarben_count = + '( + (($CVfarbe_1_v_valid$CV && ($Vfarbe_1_v$V == 2 || $Vfarbe_1_v$V == 3))? 1 : 0 ) + + (($CVfarbe_2_v_valid$CV && ($Vfarbe_2_v$V == 2 || $Vfarbe_2_v$V == 3))? 1 : 0 ) + + (($CVfarbe_3_v_valid$CV && ($Vfarbe_3_v$V == 2 || $Vfarbe_3_v$V == 3))? 1 : 0 ) + + (($CVfarbe_4_v_valid$CV && ($Vfarbe_4_v$V == 2 || $Vfarbe_4_v$V == 3))? 1 : 0 ) + + (($CVfarbe_1_r_valid$CV && ($Vfarbe_1_r$V == 2 || $Vfarbe_1_r$V == 3))? 1 : 0 ) + + (($CVfarbe_2_r_valid$CV && ($Vfarbe_2_r$V == 2 || $Vfarbe_2_r$V == 3))? 1 : 0 ) + + (($CVfarbe_3_r_valid$CV && ($Vfarbe_3_r$V == 2 || $Vfarbe_3_r$V == 3))? 1 : 0 ) + + (($CVfarbe_4_r_valid$CV && ($Vfarbe_4_r$V == 2 || $Vfarbe_4_r$V == 3))? 1 : 0 ) + )'; + +//Makulatur beim einstellen der Maschine berechnen +$sd_satz_makulatur ='( ($CVdruckfarben_1$CV + $CVdruckfarben_2$CV) + * $Pmakulatur_pro_farbe$P + * $Vblatt$V + ) * ($Fsd_satz_helper_paper_price$F / $Vblatt$V)'; + +// +//SD-Sätze Kalkulation +// format_1 = Nutzen, format_2 = Endschnitte, format_3 = Zwischenschnitte + +$sd_satz_vorschneiden = + '(ceil(($Fsd_satz_helper_paper_height$F) + * ($Vauflage$V / $CVformat_1$CV) + / $Peinlegehoehe_schneidemaschine$P)) + + $Pvor_und_nachbereitung_schneiden$P'; + +// +$sd_satz_offset_drucken = '( + ( ($CVdruckfarben_2$CV > 0) ? 2:1 ) + * ($Vauflage$V * $Vblatt$V / $CVformat_1$CV) + / ($Pbogen_pro_stunde_offset_sd$P / 60) + ) + + ( $Fsd_satz_helper_sonderfarben_count$F * ($Pruestzeit_pro_sonderfarbe$P + $Pfarbwechsel_offset$P) ) + + $Peinrichtezeit_fuer_farbe_und_passer$P + + ( $Pruestzeit_pro_platte$P * ($CVdruckfarben_1$CV + $CVdruckfarben_2$CV) ) + + ( ($CVdruckfarben_2$CV > 0)? $Pgummituch_waschen$P: 0) + * ($Pstundenpreis_offsetdruck$P / 60)'; + +// Da einzelne Einlagefächer beim Zusammentragen befüllt werden, wird hier nicht die Satz-Höhe berechnet, sondern jedes Blatt einzeln. +$sd_satz_zusammentragen = '(( ($Vauflage$V / $CVformat_1$CV) / $Pzusammentragen_pro_stunde$P) * $Pstundenpreis_zusammentragen$P) + + (( + ($CVblatt_o_valid$CV? ceil((($Vblatt_o_staerke$V / 1000) * $Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_zusammentragen$P ) : 0)+ + ($CVblatt_2_valid$CV? ceil((($Vblatt_2_staerke$V / 1000) * $Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_zusammentragen$P ) : 0)+ + ($CVblatt_3_valid$CV? ceil((($Vblatt_3_staerke$V / 1000) * $Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_zusammentragen$P ) : 0)+ + ($CVblatt_4_valid$CV? ceil((($Vblatt_4_staerke$V / 1000) * $Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_zusammentragen$P ) : 0)+ + ($CVblatt_s_valid$CV? ceil((($Vblatt_s_staerke$V / 1000) * $Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_zusammentragen$P ) : 0) + ) * $Pzusammentragen_einlegen$P) + * ( $Pstundenpreis_zusammentragen$P / 60 ) + + $Pvor_und_nachbereitung_zusammentragen$P'; + +// ((($Vverleimung$V == 3 || $Vverleimung$V == 4) && ($Vformat$V == 4))? 2 : $CVformat_3$CV ) -- Bei Verleimung links/rechts bei Format DINA4 ändert sich die Anzahl der Zwischen- und Endschnitte +$sd_satz_zwischenschneiden = + '((($Vverleimung$V == 3 || $Vverleimung$V == 4) && ($Vformat$V == 4))? 2 : $CVformat_3$CV ) + * $Pkosten_pro_schnitt$P + * (ceil(($Fsd_satz_helper_paper_height$F) * ($Vauflage$V / $CVformat_1$CV) / $Peinlegehoehe_schneidemaschine$P)) + $Pvor_und_nachbereitung_schneiden$P'; + +$sd_satz_verleimen = '$Vauflage$V * $Pleimen_und_trennen_pro_sd_satz$P + $Pvor_und_nachbereitung_verarbeitung$P'; + +// ((($Vverleimung$V == 3 || $Vverleimung$V == 4) && ($Vformat$V == 4))? 1 : 2 ) -- Bei Verleimung links/rechts bei Format DINA4 ändert sich die Anzahl der Zwischen- und Endschnitte +$sd_satz_endschneiden = + '((($Vverleimung$V == 3 || $Vverleimung$V == 4) && ($Vformat$V == 4))? 3 : $CVformat_2$CV ) + * $Pkosten_pro_schnitt$P + * (ceil + ($Fsd_satz_helper_paper_height$F * ($Vauflage$V / ((($Vverleimung$V == 3 || $Vverleimung$V == 4) && ($Vformat$V == 4))? 1 : 2 ) ) / $Peinlegehoehe_schneidemaschine$P) + ) + + $Pvor_und_nachbereitung_schneiden$P'; + +// Geteilt durch 96, weil 96 Hübe die Stunde möglich sind. +$sd_satz_bohren = '(($Pstundenpreis_verarbeitung$P * ($Vabheftlochung$V / 2)) / 96) + * (ceil( $Fsd_satz_helper_paper_height$F * ($Vauflage$V * $Vblatt$V ) / $Peinlegehoehe_bohrmaschine$P)) + + $Pvor_und_nachbereitung_bohrmaschine$P'; + +// Aus einem Bogen erhält man zwei Druckbögen, daher *2 +$sd_satz_papierpreis = '$Fsd_satz_helper_paper_price$F + * ($Vauflage$V / ($CVformat_1$CV * 2)) + + $Fsd_satz_makulatur$F'; + +$sd_satz_platten_belichten = '($Ppreis_pro_belichten$P + $Ppreis_pro_druckplatte$P ) + * ($CVdruckfarben_1$CV + $CVdruckfarben_2$CV)'; + +$sd_satz_profidaten_check = '(($Vdatencheck$V == 2)? 7: 0)'; + +$sd_satz_vollkalkulation = ' ($Fsd_satz_vorschneiden$F + + $Fsd_satz_offset_drucken$F + + $Fsd_satz_zusammentragen$F + + $Fsd_satz_zwischenschneiden$F + + $Fsd_satz_verleimen$F + + $Fsd_satz_endschneiden$F + + $Fsd_satz_bohren$F + + $Fsd_satz_papierpreis$F + + $Fsd_satz_platten_belichten$F + + $Fsd_satz_profidaten_check$F) * $Psd_satz_marge$P'; + +$weight_SD_Satz = '$Fsd_satz_helper_paper_grammature$F * (($Vformat$V == 4)? ((210*297)/1000000) : ((148*210)/1000000)) * $Vauflage$V'; + +//BOOS +$weight_boos_800 = '(((($Pboos_800_b$P * $Pboos_800_h$P) / 1000000) * $Vauflage$V) * $Vpaper_grammatur$V) + + ((($Vauflage$V == 5000)? 1 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 10000)? 2 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 20000)? 4 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 5000)? 1 : 0) * $Pboos_umkarton$P) + + ((($Vauflage$V == 10000)? 1 : 0) * $Pboos_umkarton$P) + + ((($Vauflage$V == 20000)? 2 : 0) * $Pboos_umkarton$P)'; + +$weight_boos_300 = '(((($Pboos_300_b$P * $Pboos_300_h$P) / 1000000) * $Vauflage$V) * $Vpaper_grammatur$V) + + ((($Vauflage$V == 5000)? 1 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 10000)? 2 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 20000)? 4 : 0) * $Pboos_karton$P) + + ((($Vauflage$V == 5000)? 1 : 0) * $Pboos_umkarton$P) + + ((($Vauflage$V == 10000)? 1 : 0) * $Pboos_umkarton$P) + + ((($Vauflage$V == 20000)? 2 : 0) * $Pboos_umkarton$P)'; + diff --git a/tests/Customer/JJ/papierContainer.xml b/tests/Customer/JJ/papierContainer.xml new file mode 100644 index 0000000..95c9f9c --- /dev/null +++ b/tests/Customer/JJ/papierContainer.xml @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // 80g/m² CB, weiss + + + // 60g/m² CFB, weiss + + + // 57g/m² CF, weiss + + + // Preprint mit Laser- und Inkjetgarantie, h'frei, FSC Mix Credit, EU-Ecolabel – 450mm × 320mm – 80 gr/m² (Breitbahn) – weiss + + + // Preprint mit Laser- und Inkjetgarantie, h'frei, FSC Mix Credit, EU-Ecolabel – 450mm × 320mm – 80 gr/m² (Breitbahn) – weiss + // Preprint mit Laser- und Inkjetgarantie, h'frei, FSC Mix Credit, EU-Ecolabel – 450mm × 320mm – 90 gr/m² (Breitbahn) – weiss + + + // 350 gr/m², Color Copy, FSC, EU-Ecolabel, 450 x 330 + + + // 350 gr/m², Color Copy, FSC, EU-Ecolabel, 225 x 330 + + + // Preprint mit Laser- und Inkjetgarantie, h'frei, FSC Mix Credit, EU-Ecolabel – 450mm × 320mm – 80 gr/m² (Breitbahn) – weiss + + + // Preprint mit Laser- und Inkjetgarantie, h'frei, FSC Mix Credit, EU-Ecolabel – 450mm × 320mm – 80 gr/m² (Breitbahn) – weiss + + diff --git a/tests/Customer/JJ/parameters.txt b/tests/Customer/JJ/parameters.txt new file mode 100644 index 0000000..cc4fc42 --- /dev/null +++ b/tests/Customer/JJ/parameters.txt @@ -0,0 +1,231 @@ +$druckplattenbelichtung_pro_stunde = 18; // Stück pro Stunde +$suprasetter_stundenpreis = 50; // Euro pro Stunde +$speedmaster_stundenpreis = 80; // Euro pro Stunde +$fremdkosten_pro_druckplatte = 280; // Cent +$einrichten_farbe_und_passer = 11; // Minuten - wird aber aus Einheitlichkeitsgründen in der Formel in Sekunden umgewandelt +$ruestzeit_pro_platte = 2; // Minuten - wird aber aus Einheitlichkeitsgründen in der Formel in Sekunden umgewandelt +$ruestzeit_pro_sonderfarbe = 6; // Minuten - wird aber aus Einheitlichkeitsgründen in der Formel in Sekunden umgewandelt +$speedmaster_bogen_pro_stunde = 14200; // Bogen pro Stunde +$speedmaster_aufraeumgrundzeit = 6; // Minuten - wird aber aus Einheitlichkeitsgründen in der Formel in Sekunden umgewandelt +$speedmaster_aufraeumzeit_pro_sonderfarbe = 6; // Minuten - wird aber aus Einheitlichkeitsgründen in der Formel in Sekunden umgewandelt +$speedmaster_ausschussrate = 2; // in % von der Auflage +$speedmaster_fixer_ausschuss = 140; // in Stück + +$versafire_farbklick_bis_480 = 0.075; // Cent pro Klick +$versafire_farbklick_bis_700 = 0.15; // Cent pro Klick +$versafire_farbklick_bis_1000 = 0.225; // Cent pro Klick +$versafire_swklick_bis_480 = 0.05; // Cent pro Klick +$versafire_swklick_bis_700 = 0.1; // Cent pro Klick +$versafire_swklick_bis_1000 = 0.15; // Cent pro Klick +$versafire_ausschussrate = 2;// in % von der Auflage +$versafire_stundenpreis = 2; // Euro pro Stunde +$versafire_fixer_ausschuss = 5; // in Stück +$versafire_ruest_grundzeit = 6; // in Min +$versafire_aufraeum_grundzeit = 3; // in Min +$versafire_seiten_pro_stunde = 6500; // Blatt pro Stunde + +$bandarolieren_ruestgrundzeit = 1; // in Min +$bandarolieren_pro_stunde = 777; // Stück pro Stunde +$bandarolieren_stundenlohn = 40; // Euro pro Stunde +$bandarolieren_aufraeumgrundzeit = 0.5; // in Min + +$vorschneiden_fixer_ausschuss = 2; // in Stück +$schneiden_fixer_ausschuss = 2; // in Stück +$offset_marge = 1.15; // als Faktor +$digital_marge = 1.00; // als Faktor +$offset_gummituch_waschen = 180; // Sekunden +$druckplattenkosten = 270; // Cent +$druckplattenkosten_extern = 280; // Cent +$mediengestalter_stundenpreis = 50; // Euro pro Stunde +$mediengestalter_komponenten_pro_stunde = 6; // Kompotenten pro Stunde +$mediengestalter_reduziert_komponenten_pro_stunde = 15; //Komponenten pro Stunde +$polar78_ruest_grundzeit = 1; // in Min +$polar78_ruest_pro_schnitt = 0.25; // in Min +$polar78_stundenlohn = 40; // Euro pro Stunde +$schnitte_pro_stunde = 120; // Schnitte pro Stunde +$polar78_aufraeum_grundzeit = 1; // in Min +$verpackungen_pro_stunde = 60; // Verpackungen pro Stunde +$versandmitarbeiter_pro_stunde = 40; // Euro pro Stunde +$umkarton_preis = 1.6; // Euro +$karton_preis = 0.693; // Euro +$karton_gewicht = 236; // in g +$karton_hoehe = 100; // in mm +$bohren_ruestgrundzeit = 7; // in Min +$bohren_aufraeumgrundzeit = 5; // in Min +$bohren_stundenlohn = 40; // Euro pro Stunde +$bohrungen_pro_stunde = 96; // Bohrungen pro Stunde + +$horizon_ruestgrundzeit = 3; // in Min +$horizon_aufraeumgrundzeit = 3; // in Min +$horizon_boegen_pro_stunde = 2200; // Bögen pro Stunde +$horizon_stundenlohn = 55; // Euro pro Stunde +$rillen_und_falzen_fixer_ausschuss = 17; // in Stück +$rillen_und_falzen_ausschussrate = 1.2; // in Prozent + +$boos_umkarton = 542; // in g, umfasst jeweils 2 normale Kartons +$boos_karton = 274; // in g, beinhaltet 5000x800g-Etikett oder 10000x300g +$boos_800_b = 326; // in mm +$boos_800_h = 107; // in mm +$boos_300_b = 326; // in mm +$boos_300_h = 38; // in mm + +$makulatur_pro_farbe = 20; // in Stück +$sd_satz_marge = 1.00; // als Faktor: 1 + prozentuale Marge +$zusammentragen_pro_stunde = 4400; // Bögen pro Stunde +$zusammentragen_einlegen = 0.25; // in min +$farbwechsel_offset = 6; // in min +$bogen_pro_stunde_offset_sd = 10000; // Bogen/Stunde +$einrichtezeit_fuer_farbe_und_passer = 10; // in min +$gummituch_waschen = 5; // in min + +$preis_pro_druckplatte = 2.7; // in EUR +$preis_pro_belichten = 5.58; // in EUR + +$stundenpreis_verarbeitung = 40; +$stundenpreis_schneiden = 50; +$stundenpreis_offsetdruck = 80; +$stundenpreis_zusammentragen = 60; + +$einlegehoehe_zusammentragen = 44; +$einlegehoehe_bohrmaschine = 50; +$einlegehoehe_schneidemaschine = 90; // in mm + +$vor_und_nachbereitung_bohrmaschine = (($stundenpreis_verarbeitung / 60 ) * 7); // in EUR +$vor_und_nachbereitung_schneiden = (($stundenpreis_schneiden / 60 ) * 5); +$vor_und_nachbereitung_verarbeitung = (($stundenpreis_verarbeitung / 60 ) * 5); +$vor_und_nachbereitung_zusammentragen = (($stundenpreis_zusammentragen / 60 ) * 5); + +// $kosten_pro_bohrung = (($stundenpreis_verarbeitung * ($Vabheftlochung$V / 2)) / 96); +$kosten_pro_schnitt = (($stundenpreis_schneiden / 60) / 2); +$leimen_und_trennen_pro_sd_satz = (($stundenpreis_verarbeitung / 60) / 100); + +// Versandpreise +$dpd_bis_3kg = 4.95; // Euro +$dpd_bis_5kg = 5.50; // Euro +$dpd_bis_10kg = 6.30; // Euro +$dpd_bis_15kg = 6.95; // Euro +$dpd_bis_20kg = 7.20; // Euro +$dpd_bis_25kg = 7.60; // Euro +$dpd_bis_31kg = 8.00; // Euro + +$paket_DHL_0_1_kg = 5.1; // Euro +$paket_DHL_1_3_kg = 5.6; // Euro +$paket_DHL_3_5_kg = 6.6; // Euro +$paket_DHL_5_10_kg = 8.7; // Euro +$paket_DHL_10_20_kg = 13.6; // Euro +$paket_DHL_20_31_kg = 16.2; // Euro + +$speditionspreis_pro_kg = 5; // Euro + +//express +$exp1=0.1; +$exp2=1.2; + + +// copyshop +$swst1=0.08/1.07; +$swst2=0.065/1.07; +$swst3=0.055/1.07; +$swst4=0.05/1.07; +$swst5=0.045/1.07; +$swst6=0.035/1.07; +$titeldruck=0.6/1.07; +$fst1=0.9/1.07; +$fst2=0.75/1.07; +$fst3=0.55/1.07; +$fst4=0.45/1.07; +$fst5=0.4/1.07; +$fst6=0.25/1.07; +$fswst1=0.2/1.07; +$fswst2=0.11/1.07; +$fswst3=0.10/1.07; +$fswst4=0.09/1.07; +$fswst5=0.08/1.07; +$fswst6=0.06/1.07; +$b100=3.3/1.07; +$b150=3.7/1.07; +$b200=4.3/1.07; +$b300=5.3/1.07; +$b300plus=6.3/1.07; +//shopende +//farbdrucke +$farbdruck1=0.80; +$farbdruck2=0.80*0.85; +$farbdruck3=0.80*0.75; +$farbdruck4=0.80*0.65; +$farbdruck5=0.80*0.55; +$farbdruck6=0.80*0.45; +$farbdruck7=0.80*0.37; +$farbdruck8=0.80*0.31; +$pauschale=30; +$posterpauschale=0; +$posterqm1=39.85/1.19; +$plakatpauschale=10; +$plakat140qm1=25; +$plakat160qm1=20; +$plakat80qm1=15; +$plakatA3=10; +$plakataffichenqm1=17.5; + +$aufkleberqm=45; +$klebefolieqm=45; +$cutfolieqm=45; +$cuttransferqm=15; +$cutfoliepausch=25; +$solprotectqm=15; +$wallmountqm=60; +//banner +$bannerqm=40; +$meshqm=40; +$ppqm=40; +$blockoutqm=40; + +$vkpauschale=17.5; +$laminieren=30; + +//Flyer +$flyerschneiden=7.5; +$fflyerschneiden=8; +$flyer=20; +$fflyer=30; +$karten=20; +//$karten=35; +$fkarten=25; +$flyerklick=0.3; +$fflyerklick=0.3; +$fflyerfalten=0.01; +$fkarteklick=0.310; +$karteklick=0.25; +// Weihnachtskarten + +$klick=0.5; +$visitenkarte=0.60; +$k3hs=50; +$k5hs=55; +$k10hs=65; +$k5fs=55; +$k10fs=59.9; +$kalu=89.99; +$cello=0.1; +$taschenlaminierena4=0.8; +$taschenlaminierena3=1.25; +$eckenrunden=0.01; +$eckenrundeneinrichten=5; +$nuten=12; +$nut=.12; +$nutgeschlossen=.18; +$schneiden=2.5; +$falten=0.01; +$MiniRolli3=21.99; +$MiniRolli4=16.99; +$ruestkosten=0; +$tbk=.60; +$tbkpauschale=30; +//plotten +$plotsw=3.95; +$plotfarbe=9.95; +$plotfarbefl=14.95; + +//aufschlag +$aufschlag=1.5; + diff --git a/tests/Customer/KK/CalcTest.php b/tests/Customer/KK/CalcTest.php new file mode 100644 index 0000000..3b40cd7 --- /dev/null +++ b/tests/Customer/KK/CalcTest.php @@ -0,0 +1,55 @@ +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 testDefault(): void + { + $this->engine->calc(); + $this->assertSame(51.0, $this->engine->getPrice()); + } + + public function testCalcValue(): void + { + $this->engine->setVariable('auflage', 2000); + $this->engine->calc(); + $this->assertSame(42.0, $this->engine->getPrice()); + } + + +} diff --git a/tests/Customer/KK/calc.xml b/tests/Customer/KK/calc.xml new file mode 100644 index 0000000..3984655 --- /dev/null +++ b/tests/Customer/KK/calc.xml @@ -0,0 +1,83 @@ + + + + CalcValue + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Customer/KK/calcTemplates.xml b/tests/Customer/KK/calcTemplates.xml new file mode 100644 index 0000000..093d936 --- /dev/null +++ b/tests/Customer/KK/calcTemplates.xml @@ -0,0 +1,2 @@ + + diff --git a/tests/Customer/KK/formels.txt b/tests/Customer/KK/formels.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/Customer/KK/formels.txt @@ -0,0 +1 @@ + diff --git a/tests/Customer/KK/papierContainer.xml b/tests/Customer/KK/papierContainer.xml new file mode 100644 index 0000000..e15fb22 --- /dev/null +++ b/tests/Customer/KK/papierContainer.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/Customer/KK/parameters.txt b/tests/Customer/KK/parameters.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/Customer/KK/parameters.txt @@ -0,0 +1 @@ + diff --git a/tests/Customer/LL/CalcTest.php b/tests/Customer/LL/CalcTest.php new file mode 100644 index 0000000..1beed93 --- /dev/null +++ b/tests/Customer/LL/CalcTest.php @@ -0,0 +1,65 @@ +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 tesDefault(): void + { + $this->engine->calc(); + $this->assertSame("11", $this->engine->getArticle()->getOptionById('set1')->getSelectedOption()->getId()); + $this->assertSame("21", $this->engine->getArticle()->getOptionById('set2')->getSelectedOption()->getId()); + $this->assertSame("31", $this->engine->getArticle()->getOptionById('set3')->getSelectedOption()->getId()); + } + + public function testChangeDefault(): void + { + $this->engine->calc(); + $this->assertSame("11", $this->engine->getArticle()->getOptionById('set1')->getSelectedOption()->getId()); + $this->assertSame("21", $this->engine->getArticle()->getOptionById('set2')->getSelectedOption()->getId()); + $this->assertSame("31", $this->engine->getArticle()->getOptionById('set3')->getSelectedOption()->getId()); + $this->assertSame("41", $this->engine->getArticle()->getOptionById('set4')->getSelectedOption()->getId()); + $this->engine->setVariable('auflage', 2000); + $this->engine->calc(); + $this->assertSame("12", $this->engine->getArticle()->getOptionById('set1')->getSelectedOption()->getId()); + $this->assertSame("22", $this->engine->getArticle()->getOptionById('set2')->getSelectedOption()->getId()); + $this->assertSame("32", $this->engine->getArticle()->getOptionById('set3')->getSelectedOption()->getId()); + $this->assertSame("42", $this->engine->getArticle()->getOptionById('set4')->getSelectedOption()->getId()); + } + + +} diff --git a/tests/Customer/LL/calc.xml b/tests/Customer/LL/calc.xml new file mode 100644 index 0000000..b935123 --- /dev/null +++ b/tests/Customer/LL/calc.xml @@ -0,0 +1,65 @@ + + + + SD-Satz + + + + + + + + + + + + + + + + + diff --git a/tests/Customer/LL/calcTemplates.xml b/tests/Customer/LL/calcTemplates.xml new file mode 100644 index 0000000..093d936 --- /dev/null +++ b/tests/Customer/LL/calcTemplates.xml @@ -0,0 +1,2 @@ + + diff --git a/tests/Customer/LL/formels.txt b/tests/Customer/LL/formels.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/Customer/LL/formels.txt @@ -0,0 +1 @@ + diff --git a/tests/Customer/LL/papierContainer.xml b/tests/Customer/LL/papierContainer.xml new file mode 100644 index 0000000..e15fb22 --- /dev/null +++ b/tests/Customer/LL/papierContainer.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/Customer/LL/parameters.txt b/tests/Customer/LL/parameters.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/Customer/LL/parameters.txt @@ -0,0 +1 @@ + diff --git a/tests/Customer/Z/CalcTest.php b/tests/Customer/Z/CalcTest.php index 4dcbff1..52d5de5 100644 --- a/tests/Customer/Z/CalcTest.php +++ b/tests/Customer/Z/CalcTest.php @@ -45,6 +45,7 @@ class CalcTest extends TestCase { $this->engine->setVariable('produktart_nopresentationpdf', 61); $this->engine->calc(); +// file_put_contents("/tmp/t1.txt", print_r($this->engine->getDebugCalcVariables(),true).print_r($this->engine->getDebugCalcFormel(),true)); self::assertSame(199.6, $this->engine->getPrice()); } diff --git a/tests/Mock/PaperRepostory.php b/tests/Mock/PaperRepostory.php index 01a3eaf..42c0f2e 100644 --- a/tests/Mock/PaperRepostory.php +++ b/tests/Mock/PaperRepostory.php @@ -415,6 +415,17 @@ class PaperRepostory implements ObjectRepository $papier['927996']->setDescription1('57g/m² CF, weiss'); $papier['927996']->setDescription2('57g/m² CF, weiss'); + $papier['621995'] = new Paper(); + $papier['621995']->setArtNr('621995'); + $papier['621995']->setGrammatur('80'); + $papier['621995']->setPreis('16.93'); + $papier['621995']->setVolume(1); + $papier['621995']->setBreite(450); + $papier['621995']->setLaenge(320); + $papier['621995']->setStaerke(80); + $papier['621995']->setDescription1('80 g/m², Preprint, weiss'); + $papier['621995']->setDescription2('80 g/m², Preprint, weiss'); + return $papier[$criteria['artNr']];