Annotation of embedaddon/php/ext/spl/tests/pqueue_001.phpt, revision 1.1.1.2
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
1.1.1.2 ! misho 66: 2=>b
! 67: 1=>a
! 68: 0=>c
1.1 misho 69: EXTR_BOTH
1.1.1.2 ! misho 70: 2=>Array
1.1 misho 71: (
72: [data] => b
73: [priority] => 2
74: )
75:
1.1.1.2 ! misho 76: 1=>Array
1.1 misho 77: (
78: [data] => a
79: [priority] => 1
80: )
81:
1.1.1.2 ! misho 82: 0=>Array
1.1 misho 83: (
84: [data] => c
85: [priority] => 0
86: )
87:
88: EXTR_DATA
1.1.1.2 ! misho 89: 2=>b
! 90: 1=>a
! 91: 0=>c
1.1 misho 92: EXTR_PRIORITY
1.1.1.2 ! misho 93: 2=>2
! 94: 1=>1
! 95: 0=>0
1.1 misho 96: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>