toArray() public method

When the map is flattened into an array, the priorities are taken into account and elements of the map are ordered in the array according to their priority.
public toArray ( ) : array
return array the list of items in array
Beispiel #1
0
 public function testCopyAndMergeWithPriorities()
 {
     $this->setUpPriorities();
     $map1 = new TPriorityMap();
     $map1->add('key1', $this->item1);
     $map1->add('keyc', 'valuec');
     $map1->copyFrom($this->map);
     $this->assertEquals(5, $map1->getCount());
     $array = $map1->toArray();
     $ordered_keys = array_keys($array);
     $this->assertEquals('key3', $ordered_keys[0]);
     $this->assertEquals('key5', $ordered_keys[1]);
     $this->assertEquals('key1', $ordered_keys[2]);
     $this->assertEquals('key2', $ordered_keys[3]);
     $this->assertEquals('key4', $ordered_keys[4]);
     $ordered_values = array_values($array);
     $this->assertEquals($this->item3, $ordered_values[0]);
     $this->assertEquals($this->item5, $ordered_values[1]);
     $this->assertEquals($this->item1, $ordered_values[2]);
     $this->assertEquals($this->item2, $ordered_values[3]);
     $this->assertEquals($this->item4, $ordered_values[4]);
     $map2 = new TPriorityMap();
     $map2->add('startkey', 'startvalue', -1000);
     $map2->add('key5', 'value5', 40);
     $map2->add('endkey', 'endvalue', 1000);
     $map2->mergeWith($this->map);
     $this->assertEquals(7, $map2->getCount());
     $array = $map2->toArray();
     $ordered_keys = array_keys($array);
     $this->assertEquals('startkey', $ordered_keys[0]);
     $this->assertEquals('key3', $ordered_keys[1]);
     $this->assertEquals('key5', $ordered_keys[2]);
     $this->assertEquals('key1', $ordered_keys[3]);
     $this->assertEquals('key2', $ordered_keys[4]);
     $this->assertEquals('key4', $ordered_keys[5]);
     $this->assertEquals('endkey', $ordered_keys[6]);
     $ordered_values = array_values($array);
     $this->assertEquals('startvalue', $ordered_values[0]);
     $this->assertEquals($this->item3, $ordered_values[1]);
     $this->assertEquals($this->item5, $ordered_values[2]);
     $this->assertEquals($this->item1, $ordered_values[3]);
     $this->assertEquals($this->item2, $ordered_values[4]);
     $this->assertEquals($this->item4, $ordered_values[5]);
     $this->assertEquals('endvalue', $ordered_values[6]);
     $this->assertEquals(1, $map2->priorityAt('key5'));
     $this->assertEquals(1, $map2->priorityOf($this->item5));
 }