diff --git a/.phpunit.result.cache b/.phpunit.result.cache
index aa85955..7e83b2b 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":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":4,"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":4,"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":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":4,"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":3,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":3,"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":5,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":3,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":3,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":4,"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":3},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.004,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.02,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.015,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.015,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.018,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.012,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.018,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.015,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.014,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.009,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.01,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.012,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.011,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.012,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.1,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.097,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.019,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.163,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.044,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.019,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.029,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.013,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.159,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.013,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.02,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.029,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.202,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.209,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.197,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.09,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.19,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.031,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.023,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.05,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.046,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.047,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.028,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.206,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.206,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.204,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.023,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.016,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.009,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.009,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.014,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.015,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.016,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.01,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.01,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.01,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.005,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.017,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.015,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.038,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.063,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.061,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.025,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.027,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":0.464,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":0.467,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.475,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.471,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.095,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.1,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.095,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.124,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.117,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.032,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.026,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.026,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.025,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.013,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.015,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.023,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testIfDefaultPriceIsOk":0.003,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.012,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":0.622,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.048,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.033,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":0.913,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":0.483,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":0.517,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.012}}
\ No newline at end of file
+{"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":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":4,"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":4,"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":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":4,"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":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":4,"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":3,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":3,"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":5,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":3,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":3,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":4,"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":3,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":3,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":3},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.009,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.015,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.017,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.014,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.015,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.012,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.012,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.014,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.012,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.011,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.007,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.009,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.012,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.01,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.01,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.012,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.012,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.1,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.096,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.164,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.072,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.017,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.031,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.163,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.015,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.017,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.204,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.205,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.212,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.118,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.183,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.036,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.061,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.046,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.047,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.211,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.222,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.21,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.013,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.008,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.01,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.013,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.014,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.014,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.008,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.008,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.009,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.005,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.02,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.015,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.041,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.043,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.069,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.07,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.026,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":0.667,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":0.659,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.576,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.726,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.087,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.118,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.101,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.157,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.17,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.045,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.062,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.068,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.076,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.031,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.015,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.069,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testIfDefaultPriceIsOk":0.003,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.015,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.043,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":1.335,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.092,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.051,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.027,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.038,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.024,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":0.985,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":0.506,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":0.499,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testValidSelect":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.017,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":0.025,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":0.014}}
\ No newline at end of file
diff --git a/composer.json b/composer.json
index faa2c00..e78283c 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,7 @@
}
},
"require": {
- "php": ">=7.1",
+ "php": ">=8.1",
"doctrine/orm": "^2.5",
"azuyalabs/yasumi": "^2.5"
},
diff --git a/src/Article.php b/src/Article.php
index 23eae3e..b5cbfbf 100644
--- a/src/Article.php
+++ b/src/Article.php
@@ -112,17 +112,21 @@ class Article
}
}
- /**
- * @return \ArrayIterator
- */
public function getOptions()
{
return $this->options;
}
- /**
- * @return array
- */
+ public function clearOptions(): void
+ {
+ $this->options = new \ArrayIterator();
+ }
+
+ public function setOptions(array $options): void
+ {
+ $this->options = new \ArrayIterator($options);
+ }
+
public function getValidOptions()
{
$temp = array();
diff --git a/src/Calc/Valid.php b/src/Calc/Valid.php
index 2e5833b..116da58 100644
--- a/src/Calc/Valid.php
+++ b/src/Calc/Valid.php
@@ -100,7 +100,7 @@ class Valid
}
}else {
- if ($this->engine->getVariables()[$option->getId()] == $opt->getId()) {
+ if (isset($this->engine->getVariables()[$option->getId()]) && $this->engine->getVariables()[$option->getId()] == $opt->getId()) {
if(!$opt->isValid()) {
$nextShouldBeValid = true;
} else {
diff --git a/src/Engine.php b/src/Engine.php
index 23e66f5..7812137 100644
--- a/src/Engine.php
+++ b/src/Engine.php
@@ -283,29 +283,27 @@ class Engine
}
}
- // Check if Option is valid
- $calcValid = new Valid($this, $this->article);
- $calcValid->perform();
+ $this->processCalc();
- // CALC Values
- $calcValues = new CalcValues($this, $this->article);
- $calcValues->calc();
+ $switchedOptions = $this->checkDoubleOptions();
+ if(count($switchedOptions) > 0) {
+ foreach($switchedOptions as $option) {
+ if($option->getDefault() !== null && !$option instanceof Text) {
+ if($option instanceof Checkbox) {
+ $this->variables[$option->getId()] = explode(",", $option->getDefault());
+ }else{
+ $this->variables[$option->getId()] = $option->getDefault();
+ }
+ }
- // Check if Option is valid
- $calcValid = new Valid($this, $this->article);
- $calcValid->perform();
+ if(isset($this->variables[$option->getId()])) {
+ $option->setRawValue($this->variables[$option->getId()]);
+ $option->processValue();
+ }
+ }
- // 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 Formel
- $calcFormel = new Calc($this, $this->article);
- $this->price = $calcFormel->calc();
+ $this->processCalc();
+ }
$this->dirty = false;
return true;
@@ -578,4 +576,59 @@ class Engine
}
return $this->weightSingle;
}
+
+ private function checkDoubleOptions(): array
+ {
+
+ $options = [];
+ $switchedOptions = [];
+ /** @var Base $option */
+ foreach($this->article->getOptions() as $option) {
+ if($option->isValid()) {
+ $options[] = $option;
+ }else{
+ $foundValid = array_filter($this->article->getOptions()->getArrayCopy(), function(Base $elm) use ($option) {
+ if($elm->getId() == $option->getId() && $elm->isValid()) {
+ return $elm;
+ }
+ });
+
+ if(count($foundValid) == 0) {
+ $options[] = $option;
+ }else{
+ $switchedOptions[] = array_shift($foundValid);
+ }
+ }
+ }
+
+ $this->article->setOptions($options);
+ return $switchedOptions;
+ }
+
+ private function processCalc(): void
+ {
+ // 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();
+
+ // 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 Formel
+ $calcFormel = new Calc($this, $this->article);
+ $this->price = $calcFormel->calc();
+ }
}
diff --git a/src/Option/Parser/Base.php b/src/Option/Parser/Base.php
index 210cd31..3e9ede2 100644
--- a/src/Option/Parser/Base.php
+++ b/src/Option/Parser/Base.php
@@ -25,6 +25,9 @@ class Base
if(isset($this->node['require'])) {
$this->element->setRequire($this->getBoolean($this->node['require']));
}
+ if(isset($this->node['required'])) {
+ $this->element->setRequire($this->getBoolean($this->node['required']));
+ }
if(isset($this->node['help'])) {
$this->element->setHelp((string)$this->node['help']);
}
diff --git a/src/Option/Parser/Input.php b/src/Option/Parser/Input.php
index 432886f..04fd107 100644
--- a/src/Option/Parser/Input.php
+++ b/src/Option/Parser/Input.php
@@ -26,6 +26,13 @@ class Input extends Base
$this->element->setMaxValue((int)$this->node['max']);
}
+ if(isset($this->node['pattern'])) {
+ $this->element->setPattern((string)$this->node['pattern']);
+ }
+ if(isset($this->node['placeholder'])) {
+ $this->element->setPlaceHolder((string)$this->node['placeholder']);
+ }
+
if($this->node->children()) {
$edgeCollectionContainerParser = new EdgeCollectionContainer($this->node);
$this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
diff --git a/src/Option/Type/Input.php b/src/Option/Type/Input.php
index 1663ae5..5eded46 100644
--- a/src/Option/Type/Input.php
+++ b/src/Option/Type/Input.php
@@ -7,6 +7,10 @@ class Input extends Base
private ?int $maxValue = null;
+ private string $pattern = "";
+
+ private string $placeHolder = "";
+
public $type = 'input';
public function setMinValue(?int $min): void
@@ -28,4 +32,24 @@ class Input extends Base
{
return $this->maxValue;
}
+
+ public function getPattern(): string
+ {
+ return $this->pattern;
+ }
+
+ public function setPattern(string $pattern): void
+ {
+ $this->pattern = $pattern;
+ }
+
+ public function getPlaceHolder(): string
+ {
+ return $this->placeHolder;
+ }
+
+ public function setPlaceHolder(string $placeHolder): void
+ {
+ $this->placeHolder = $placeHolder;
+ }
}
diff --git a/tests/Customer/BB/CalcTest.php b/tests/Customer/BB/CalcTest.php
new file mode 100644
index 0000000..64c7808
--- /dev/null
+++ b/tests/Customer/BB/CalcTest.php
@@ -0,0 +1,69 @@
+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 testPattern(): void
+ {
+ $this->engine->calc();
+ $this->assertEquals("[0-9]+", $this->engine->getArticle()->getOptionById('format1')->getPattern());
+ }
+
+ public function testPlaceHolder(): void
+ {
+ $this->engine->calc();
+ $this->assertEquals("Platzhalter", $this->engine->getArticle()->getOptionById('betreff')->getPlaceHolder());
+ $this->assertTrue($this->engine->getArticle()->getOptionById('betreff')->isRequire());
+ }
+
+ public function testFormat1(): void
+ {
+ $this->engine->calc();
+ $this->assertEquals(5 , $this->engine->getArticle()->getOptionById('format1')->getRawValue());
+ $this->assertTrue($this->engine->getArticle()->getOptionById('format1')->isValid());
+ }
+
+ public function testFormat2(): void
+ {
+ $this->engine->setVariable('auflage', 210);
+ $this->engine->calc();
+ $this->assertTrue($this->engine->getArticle()->getOptionById('format1')->isValid());
+ $this->assertEquals(50, $this->engine->getArticle()->getOptionById('format1')->getRawValue());
+ $this->assertEquals("format2" , $this->engine->getArticle()->getOptionById('format1')->getName());
+ }
+
+}
diff --git a/tests/Customer/BB/calc.xml b/tests/Customer/BB/calc.xml
new file mode 100644
index 0000000..6aed64e
--- /dev/null
+++ b/tests/Customer/BB/calc.xml
@@ -0,0 +1,32 @@
+
+
+
+ Drahtspiralbindung
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/Customer/BB/calcTemplates.xml b/tests/Customer/BB/calcTemplates.xml
new file mode 100644
index 0000000..84ff56b
--- /dev/null
+++ b/tests/Customer/BB/calcTemplates.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/tests/Customer/BB/formels.txt b/tests/Customer/BB/formels.txt
new file mode 100644
index 0000000..e69de29
diff --git a/tests/Customer/BB/papierContainer.xml b/tests/Customer/BB/papierContainer.xml
new file mode 100644
index 0000000..06c5c17
--- /dev/null
+++ b/tests/Customer/BB/papierContainer.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/tests/Customer/BB/parameters.txt b/tests/Customer/BB/parameters.txt
new file mode 100644
index 0000000..e69de29