public function testChangelogIntervalChanges()
 {
     $strSystemid = generateSystemid();
     $objStartDate = new class_date();
     $objEndDate = new class_date();
     $objMiddleDate = new class_date();
     $objStartDate->setIntYear(2012)->setIntMonth(10)->setIntDay(1)->setIntHour(10)->setIntMin(0)->setIntSec(0);
     $objMiddleDate->setIntYear(2012)->setIntMonth(11)->setIntDay(1)->setIntHour(10)->setIntMin(0)->setIntSec(0);
     $objEndDate->setIntYear(2012)->setIntMonth(12)->setIntDay(1)->setIntHour(10)->setIntMin(0)->setIntSec(0);
     $objChanges = new class_module_system_changelog();
     $objChanges->createLogEntry(new dummyObject($strSystemid), 1);
     $objChanges->processCachedInserts();
     $strQuery = "INSERT INTO " . _dbprefix_ . "changelog\n                     (change_id,\n                      change_date,\n                      change_systemid,\n                      change_system_previd,\n                      change_user,\n                      change_class,\n                      change_action,\n                      change_property,\n                      change_oldvalue,\n                      change_newvalue) VALUES\n                     (?,?,?,?,?,?,?,?,?,?)";
     class_carrier::getInstance()->getObjDB()->_pQuery($strQuery, array(generateSystemid(), $objStartDate->getLongTimestamp(), $strSystemid, "", "", "dummyObject", "edit", "test2", "", "1"));
     class_carrier::getInstance()->getObjDB()->_pQuery($strQuery, array(generateSystemid(), $objMiddleDate->getLongTimestamp(), $strSystemid, "", "", "dummyObject", "edit", "test2", "1", "2"));
     class_carrier::getInstance()->getObjDB()->_pQuery($strQuery, array(generateSystemid(), $objEndDate->getLongTimestamp(), $strSystemid, "", "", "dummyObject", "edit", "test2", "2", "3"));
     //start middle  end
     //  1      2     3
     $objStartDate->setIntDay(2);
     $objEndDate->setIntHour(9);
     class_module_system_changelog::changeValueForInterval($strSystemid, "edit", "test2", "", "dummyObject", "", "a", $objStartDate, $objEndDate);
     $objStartDate->setIntDay(1);
     $this->assertEquals("1", $objChanges->getValueForDate($strSystemid, "test2", $objStartDate));
     $objStartDate->setIntDay(2);
     $this->assertEquals("a", $objChanges->getValueForDate($strSystemid, "test2", $objStartDate));
     $this->assertEquals("a", $objChanges->getValueForDate($strSystemid, "test2", $objMiddleDate));
     $objEndDate->setIntHour(8);
     $this->assertEquals("a", $objChanges->getValueForDate($strSystemid, "test2", $objEndDate));
     $objEndDate->setIntHour(9);
     $this->assertEquals("2", $objChanges->getValueForDate($strSystemid, "test2", $objEndDate));
     $objEndDate->setIntHour(11);
     $this->assertEquals("3", $objChanges->getValueForDate($strSystemid, "test2", $objEndDate));
 }