/**
  * 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');
 }