Пример #1
0
 public function get($i)
 {
     // returns a logootId
     if ($i < $this->size()) {
         return $this->mPosition[$i];
     } else {
         return LogootId::IdMin();
     }
 }
Пример #2
0
 /**
  * to get the previous position (logootPosition)
  * @param <Integer> $lineNumber
  * @return <Object> LogootPosition
  */
 private function getPrevPosition($lineNumber)
 {
     $listIds = $this->model->getPositionList();
     $exists = false;
     $predecessor;
     for ($i = $lineNumber - 1; $i > 0; $i--) {
         if (isset($listIds[$i])) {
             $exists = true;
             $predecessor = $i;
             break;
         }
     }
     // if there is a predecessor
     if ($exists == true) {
         return $listIds[$predecessor];
     } else {
         $posMin = new LogootPosition(array(LogootId::IdMin()));
         return $posMin;
     }
 }
Пример #3
0
 function testNEquals()
 {
     $pos = new LogootPosition(array(LogootId::IdMin(), LogootId::IdMin()));
     $pos1 = new LogootPosition(array(LogootId::IdMax(), LogootId::IdMax()));
     $this->assertEquals('0', $pos->nEquals($pos1));
     $pos1 = new LogootPosition(array(LogootId::IdMin(), LogootId::IdMin()));
     $this->assertEquals('1', $pos->nEquals($pos1));
     $pos1 = new LogootPosition(array(LogootId::IdMin(), LogootId::IdMin(), LogootId::IdMin()));
     $this->assertEquals('0', $pos->nEquals($pos1));
 }
Пример #4
0
 function test0()
 {
     $p = new LogootPosition(array(LogootId::IdMin()));
     $q = new LogootPosition(array(new LogootId(INT_MIN + 1, "3", 6)));
     $lp1 = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp1 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
     $q = new LogootPosition(array(LogootId::IdMax()));
     $p = new LogootPosition(array(new LogootId(INT_MAX - 1, "3", 6)));
     $lp2 = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp2 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
     $q = new LogootPosition(array(LogootId::IdMax()));
     $p = new LogootPosition(array(new LogootId(99, "3", 3), new LogootId(99, "3", 7)));
     $lp = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp2 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
 }