public function testAddTPriorityList() { $plist = new TPriorityList($this->plist); $plist->add($this->pitem3, 200); $this->assertEquals(200, $plist->priorityAt(4)); // try a negative precision and a different default priority $list = new TPriorityList(null, false, 256, -1); $this->assertEquals(260, $list->getDefaultPriority()); $this->assertEquals(-1, $list->getPrecision()); $list->add(-10); $list->add(-11, 255); $list->add(-12, 250); $list->add(-13, 201); $this->assertEquals(200, $list->priorityAt(0)); $this->assertEquals(250, $list->priorityAt(1)); $this->assertEquals(260, $list->priorityAt(2)); $this->assertEquals(260, $list->priorityAt(3)); $priorities = $list->getPriorities(); $this->assertEquals(3, count($priorities)); $this->assertEquals(200, $priorities[0]); $this->assertEquals(250, $priorities[1]); $this->assertEquals(260, $priorities[2]); // try a negative precision and a different default priority $list = new TPriorityList(null, false, 0, 4); $this->assertEquals(0, $list->getDefaultPriority()); $this->assertEquals(4, $list->getPrecision()); $list->add(-10); $list->add(-11, 0.0001); $list->add(-12, 1.0E-5); $list->add(-13, 0.001); $this->assertEquals(0, $list->priorityAt(0)); $this->assertEquals(0, $list->priorityAt(1)); $this->assertEquals(0.0001, $list->priorityAt(2)); $this->assertEquals(0.001, $list->priorityAt(3)); $priorities = $list->getPriorities(); $this->assertEquals(3, count($priorities)); $this->assertEquals(0, $priorities[0]); $this->assertEquals(0.0001, $priorities[1]); $this->assertEquals(0.001, $priorities[2]); }