/** * Set the test result range * @param tx_caretaker_TestResultRange $testResultRange */ public function setTestResultRange(tx_caretaker_TestResultRange $testResultRange) { $this->testResultRange = $testResultRange; $this->testResultRangeInfos = $this->testResultRange->getInfos(); $this->testResultRangeMedian = $this->testResultRange->getMedianValue(); $this->testResultRangeAverage = $this->testResultRange->getAverageValue(); $this->setStartTimestamp($this->testResultRange->getStartTimestamp()); $this->setEndTimestamp($this->testResultRange->getEndTimestamp()); $this->setMinValue($this->testResultRange->getMinValue()); $this->setMaxValue($this->testResultRange->getMaxValue()); $this->init(); }
function test_getMedianValue() { $tr = new tx_caretaker_TestResultRange(500, 1000); $tr->addResult(new tx_caretaker_TestResult(500, tx_caretaker_Constants::state_ok, 12, '')); $tr->addResult(new tx_caretaker_TestResult(600, tx_caretaker_Constants::state_ok, 5, '')); $tr->addResult(new tx_caretaker_TestResult(700, tx_caretaker_Constants::state_ok, 7, '')); $tr->addResult(new tx_caretaker_TestResult(800, tx_caretaker_Constants::state_ok, 8, '')); $tr->addResult(new tx_caretaker_TestResult(900, tx_caretaker_Constants::state_ok, 5, '')); $this->assertEquals($tr->getMedianValue(), 7, 'median fails for odd numbers of results'); $tr = new tx_caretaker_TestResultRange(500, 1000); $tr->addResult(new tx_caretaker_TestResult(500, tx_caretaker_Constants::state_ok, 5, '')); $tr->addResult(new tx_caretaker_TestResult(600, tx_caretaker_Constants::state_ok, 7, '')); $tr->addResult(new tx_caretaker_TestResult(700, tx_caretaker_Constants::state_ok, 8, '')); $tr->addResult(new tx_caretaker_TestResult(800, tx_caretaker_Constants::state_ok, 12, '')); $this->assertEquals($tr->getMedianValue(), 7.5, 'median fails for even numbers of results'); $tr = new tx_caretaker_TestResultRange(500, 1000); $this->assertEquals($tr->getMedianValue(), 0, 'median fails for 0 numbers of results'); $tr = new tx_caretaker_TestResultRange(500, 1000); $tr->addResult(new tx_caretaker_TestResult(500, tx_caretaker_Constants::state_ok, 5, '')); $this->assertEquals($tr->getMedianValue(), 5, 'median fails for single result'); $tr = new tx_caretaker_TestResultRange(500, 1000); $tr->addResult(new tx_caretaker_TestResult(500, tx_caretaker_Constants::state_ok, 5, '')); $tr->addResult(new tx_caretaker_TestResult(600, tx_caretaker_Constants::state_ok, 7, '')); $this->assertEquals($tr->getMedianValue(), 6, 'median fails for to results'); $tr = new tx_caretaker_TestResultRange(500, 1000); $tr->addResult(new tx_caretaker_TestResult(500, tx_caretaker_Constants::state_ok, 5, '')); $tr->addResult(new tx_caretaker_TestResult(600, tx_caretaker_Constants::state_ok, 7, '')); $tr->addResult(new tx_caretaker_TestResult(700, tx_caretaker_Constants::state_ok, 8, '')); $this->assertEquals($tr->getMedianValue(), 7, 'median fails for three results'); }