Annotation of embedaddon/php/ext/spl/tests/pqueue_001.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: SplPriorityQueue: std operations and extract flags
                      3: --FILE--
                      4: <?php
                      5: $pq = new SplPriorityQueue();
                      6: 
                      7: // errors
                      8: try {
                      9:     $pq->extract();
                     10: } catch (RuntimeException $e) {
                     11:     echo "Exception: ".$e->getMessage()."\n";
                     12: }
                     13: 
                     14: $pq->insert("a", 1);
                     15: $pq->insert("b", 2);
                     16: $pq->insert("c", 0);
                     17: 
                     18: foreach ($pq as $k=>$v) {
                     19:     echo "$k=>".print_r($v, 1)."\n";
                     20: }
                     21: 
                     22: echo "EXTR_BOTH\n";
                     23: 
                     24: $pq1 = new SplPriorityQueue();
                     25: $pq1->setExtractFlags(SplPriorityQueue::EXTR_BOTH);
                     26: 
                     27: $pq1->insert("a", 1);
                     28: $pq1->insert("b", 2);
                     29: $pq1->insert("c", 0);
                     30: 
                     31: foreach ($pq1 as $k=>$v) {
                     32:     echo "$k=>".print_r($v, 1)."\n";
                     33: }
                     34: 
                     35: echo "EXTR_DATA\n";
                     36: 
                     37: $pq2 = new SplPriorityQueue();
                     38: $pq2->setExtractFlags(SplPriorityQueue::EXTR_DATA);
                     39: 
                     40: $pq2->insert("a", 1);
                     41: $pq2->insert("b", 2);
                     42: $pq2->insert("c", 0);
                     43: 
                     44: foreach ($pq2 as $k=>$v) {
                     45:     echo "$k=>".print_r($v, 1)."\n";
                     46: }
                     47: 
                     48: echo "EXTR_PRIORITY\n";
                     49: 
                     50: $pq3 = new SplPriorityQueue();
                     51: $pq3->setExtractFlags(SplPriorityQueue::EXTR_PRIORITY);
                     52: 
                     53: $pq3->insert("a", 1);
                     54: $pq3->insert("b", 2);
                     55: $pq3->insert("c", 0);
                     56: 
                     57: foreach ($pq3 as $k=>$v) {
                     58:     echo "$k=>".print_r($v, 1)."\n";
                     59: }
                     60: 
                     61: ?>
                     62: ===DONE===
                     63: <?php exit(0); ?>
                     64: --EXPECTF--
                     65: Exception: Can't extract from an empty heap
                     66: 3=>b
                     67: 2=>a
                     68: 1=>c
                     69: EXTR_BOTH
                     70: 3=>Array
                     71: (
                     72:     [data] => b
                     73:     [priority] => 2
                     74: )
                     75: 
                     76: 2=>Array
                     77: (
                     78:     [data] => a
                     79:     [priority] => 1
                     80: )
                     81: 
                     82: 1=>Array
                     83: (
                     84:     [data] => c
                     85:     [priority] => 0
                     86: )
                     87: 
                     88: EXTR_DATA
                     89: 3=>b
                     90: 2=>a
                     91: 1=>c
                     92: EXTR_PRIORITY
                     93: 3=>2
                     94: 2=>1
                     95: 1=>0
                     96: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>