tslist.in
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:11k
源码类别:

Symbian

开发平台:

C/C++

  1. # GetCount <expected count>
  2. # IsEmpty <0 = list not empty, 1 = list empty>
  3. # GetHead <expected value>
  4. # Note : ReplaceHead calls the void*& GetHead() on the left hand side of
  5. #        an experession. For example list.GetHead() = pSomeVoidPtr;
  6. # ReplaceHead <new value>
  7. # GetTail <expected value>
  8. # Note : ReplaceTail calls the void*& GetTail() on the left hand side of
  9. #        an experession. For example list.GetTail() = pSomeVoidPtr;
  10. # ReplaceTail <new value>
  11. # RemoveHead
  12. # RemoveTail
  13. # AddHead <value>
  14. # AddHeadList <comma seperated list of integers>
  15. # AddTail <value>
  16. # AddTailList <comma seperated list of integers>
  17. # RemoveAll
  18. # GetHeadPosition
  19. # GetTailPosition
  20. # GetNext <expected value>
  21. # ReplaceNext <new value>
  22. # GetPrev <expected value>
  23. # ReplacePrev <new value>
  24. # GetAtNext <0 = value is not valid, 1 = value is valid> <expected value>
  25. # GetAtPrev <0 = value is not valid, 1 = value is valid> <expected value>
  26. # ReplaceAtPrev <new value>
  27. # GetAt <expected value>
  28. # ReplaceAt <new value>
  29. # SetAt <new value>
  30. # RemoveAt
  31. # Find <value> <0 = don't specify position, 1 = specify current position>
  32. # FindIndex <index>
  33. # IsPosValid <0 = position not valid, 1 = position valid>
  34. # ClearPos
  35. # Test initial conditions
  36. GetCount 0
  37. IsEmpty 1
  38. # Test Head operations
  39. GetCount 0
  40. AddHead 1
  41. GetCount 1
  42. IsEmpty 0
  43. GetHead 1
  44. AddHead 2
  45. GetCount 2
  46. GetHead 2
  47. RemoveHead
  48. GetHead 1
  49. ReplaceHead 3
  50. GetCount 1
  51. GetHead 3
  52. RemoveHead
  53. GetCount 0
  54. # Test Tail operations
  55. GetCount 0
  56. AddTail 1
  57. GetCount 1
  58. IsEmpty 0
  59. GetTail 1
  60. AddTail 2
  61. GetCount 2
  62. GetTail 2
  63. RemoveTail
  64. GetTail 1
  65. ReplaceTail 3
  66. GetCount 1
  67. GetTail 3
  68. RemoveTail
  69. GetCount 0
  70. # Test mixed head and tail operations
  71. GetCount 0
  72. AddTail 1
  73. AddTail 2
  74. AddTail 3
  75. GetCount 3
  76. GetHead 1
  77. RemoveHead
  78. GetHead 2
  79. RemoveHead
  80. GetHead 3
  81. GetTail 3
  82. AddTail 5
  83. GetTail 5
  84. AddHead 4
  85. GetHead 4
  86. RemoveTail
  87. GetTail 3
  88. RemoveTail
  89. GetTail 4
  90. RemoveTail
  91. GetCount 0
  92. # Test RemoveAll
  93. GetCount 0
  94. AddHead 1
  95. AddTail 2
  96. AddHead 3
  97. AddTail 4
  98. GetCount 4
  99. RemoveAll
  100. GetCount 0
  101. # Test GetHeadPosition
  102. IsEmpty 1
  103. ClearPos
  104. IsPosValid 0
  105. GetHeadPosition
  106. IsPosValid 0
  107. AddHead 1
  108. GetHeadPosition
  109. IsPosValid 1
  110. RemoveHead
  111. GetHeadPosition
  112. IsPosValid 0
  113. # Test GetTailPosition
  114. IsEmpty 1
  115. ClearPos
  116. IsPosValid 0
  117. GetTailPosition
  118. IsPosValid 0
  119. AddHead 1
  120. GetTailPosition
  121. IsPosValid 1
  122. RemoveHead
  123. GetTailPosition
  124. IsPosValid 0
  125. # Test GetNext
  126. IsEmpty 1
  127. ClearPos
  128. AddTail 1
  129. AddTail 2
  130. AddTail 3
  131. GetHeadPosition
  132. IsPosValid 1
  133. GetNext 1
  134. GetNext 2
  135. GetNext 3
  136. IsPosValid 0
  137. RemoveHead
  138. RemoveHead
  139. RemoveHead
  140. # Test ReplaceNext
  141. IsEmpty 1
  142. ClearPos
  143. AddTail 1
  144. AddTail 2
  145. AddTail 3
  146. GetHeadPosition
  147. IsPosValid 1
  148. GetNext 1
  149. GetNext 2
  150. GetNext 3
  151. IsPosValid 0
  152. GetHeadPosition
  153. IsPosValid 1
  154. ReplaceNext 4
  155. ReplaceNext 5
  156. ReplaceNext 6
  157. IsPosValid 0
  158. GetHeadPosition
  159. IsPosValid 1
  160. GetNext 4
  161. GetNext 5
  162. GetNext 6
  163. IsPosValid 0
  164. RemoveHead
  165. RemoveHead
  166. RemoveHead
  167. # Test GetPrev
  168. IsEmpty 1
  169. ClearPos
  170. AddTail 1
  171. AddTail 2
  172. AddTail 3
  173. GetTailPosition
  174. IsPosValid 1
  175. GetPrev 3
  176. GetPrev 2
  177. GetPrev 1
  178. IsPosValid 0
  179. RemoveHead
  180. RemoveHead
  181. RemoveHead
  182. # Test ReplaceNext
  183. IsEmpty 1
  184. ClearPos
  185. AddTail 1
  186. AddTail 2
  187. AddTail 3
  188. GetTailPosition
  189. IsPosValid 1
  190. GetPrev 3
  191. GetPrev 2
  192. GetPrev 1
  193. IsPosValid 0
  194. GetTailPosition
  195. IsPosValid 1
  196. ReplacePrev 4
  197. ReplacePrev 5
  198. ReplacePrev 6
  199. IsPosValid 0
  200. GetTailPosition
  201. IsPosValid 1
  202. GetPrev 4
  203. GetPrev 5
  204. GetPrev 6
  205. IsPosValid 0
  206. RemoveHead
  207. RemoveHead
  208. RemoveHead
  209. # Test mixed GetNext, GetPrev, ReplaceNext, and ReplacePrev operations
  210. IsEmpty 1
  211. ClearPos
  212. AddTail 1
  213. AddTail 2
  214. AddTail 3
  215. AddTail 4
  216. GetHeadPosition
  217. GetNext 1
  218. ReplaceNext 5
  219. GetNext 3
  220. ReplaceNext 6
  221. IsPosValid 0
  222. GetTailPosition
  223. GetPrev 6
  224. GetPrev 3
  225. GetPrev 5
  226. GetPrev 1
  227. IsPosValid 0
  228. GetTailPosition
  229. GetPrev 6
  230. ReplacePrev 7
  231. GetPrev 5
  232. ReplacePrev 8
  233. IsPosValid 0
  234. GetHeadPosition
  235. GetNext 8
  236. GetNext 5
  237. GetNext 7
  238. GetNext 6
  239. GetHeadPosition
  240. ReplaceNext 9
  241. GetPrev 5
  242. GetNext 9
  243. ReplacePrev 10
  244. GetNext 9
  245. GetPrev 10
  246. GetNext 9
  247. GetNext 10
  248. GetNext 7
  249. GetNext 6
  250. IsPosValid 0
  251. RemoveHead
  252. RemoveHead
  253. RemoveHead
  254. RemoveHead
  255. # Test GetAtNext
  256. IsEmpty 1
  257. ClearPos
  258. AddTail 1
  259. AddTail 2
  260. AddTail 3
  261. GetHeadPosition
  262. IsPosValid 1
  263. GetAtNext 1 2
  264. GetAtNext 1 3
  265. IsPosValid 1
  266. GetAtNext 0 0
  267. IsPosValid 0
  268. RemoveHead
  269. RemoveHead
  270. RemoveHead
  271. # Test GetAtPrev
  272. IsEmpty 1
  273. ClearPos
  274. AddTail 1
  275. AddTail 2
  276. AddTail 3
  277. GetTailPosition
  278. IsPosValid 1
  279. GetAtPrev 1 2
  280. GetAtPrev 1 1
  281. IsPosValid 1
  282. #GetAtPrev 0 0 # causes crash
  283. GetPrev 1
  284. IsPosValid 0
  285. RemoveHead
  286. RemoveHead
  287. RemoveHead
  288. # Test ReplaceAtNext
  289. IsEmpty 1
  290. ClearPos
  291. AddTail 1
  292. AddTail 2
  293. AddTail 3
  294. GetTailPosition
  295. IsPosValid 1
  296. GetPrev 3
  297. GetPrev 2
  298. GetPrev 1
  299. IsPosValid 0
  300. GetTailPosition
  301. IsPosValid 1
  302. ReplaceAtPrev 4
  303. ReplaceAtPrev 5
  304. IsPosValid 1
  305. GetPrev 5
  306. IsPosValid 0
  307. GetTailPosition
  308. IsPosValid 1
  309. GetPrev 3
  310. GetPrev 4
  311. GetPrev 5
  312. IsPosValid 0
  313. RemoveHead
  314. RemoveHead
  315. RemoveHead
  316. # Test mixed GetAtNext, GetAtPrev, and ReplaceAtPrev operations
  317. IsEmpty 1
  318. ClearPos
  319. AddTail 1
  320. AddTail 2
  321. AddTail 3
  322. AddTail 4
  323. GetHeadPosition
  324. GetAtNext 1 2
  325. ReplaceAtPrev 5
  326. GetAtNext 1 2
  327. GetAtNext 1 3
  328. GetAtPrev 1 2
  329. GetAtNext 1 3
  330. GetAtNext 1 4
  331. ReplaceAtPrev 6
  332. ReplaceAtPrev 7
  333. GetAtNext 1 6
  334. GetAtNext 1 4
  335. GetAtNext 0 0
  336. IsPosValid 0
  337. GetHeadPosition
  338. GetNext 5
  339. GetNext 7
  340. GetNext 6
  341. GetNext 4
  342. IsPosValid 0
  343. RemoveHead
  344. RemoveHead
  345. RemoveHead
  346. RemoveHead
  347. # Test GetAt, ReplaceAt, and SetAt
  348. IsEmpty 1
  349. AddTail 1
  350. AddTail 2
  351. AddTail 3
  352. GetHeadPosition
  353. GetAt 1
  354. GetNext 1
  355. GetAt 2
  356. GetNext 2
  357. GetAt 3
  358. GetNext 3
  359. IsPosValid 0
  360. GetHeadPosition
  361. GetNext 1
  362. ReplaceAt 4
  363. GetNext 4
  364. SetAt 5
  365. GetNext 5
  366. IsPosValid 0
  367. GetHeadPosition
  368. GetNext 1
  369. GetNext 4
  370. GetNext 5
  371. IsPosValid 0
  372. RemoveHead
  373. RemoveHead
  374. RemoveHead
  375. # Test RemoveAt
  376. IsEmpty 1
  377. AddTail 1
  378. GetHeadPosition
  379. IsPosValid 1
  380. RemoveAt
  381. IsPosValid 0
  382. IsEmpty 1
  383. AddTail 2
  384. AddTail 3
  385. AddTail 4
  386. # Test removal from head
  387. GetHeadPosition
  388. RemoveAt
  389. GetAt 3
  390. IsPosValid 1
  391. GetCount 2
  392. # Test to see if you can add something to the head
  393. # and use the current position to visit the new element
  394. AddHead 5
  395. GetPrev 3
  396. IsPosValid 1
  397. GetPrev 5
  398. IsPosValid 0
  399. # Test removal from the middle
  400. GetHeadPosition
  401. GetNext 5
  402. RemoveAt
  403. GetCount 2
  404. GetAt 4
  405. GetAtPrev 1 5
  406. GetPrev 5
  407. IsPosValid 0
  408. AddHead 6
  409. # verify that the list contains what we expect
  410. GetCount 3
  411. GetHeadPosition
  412. GetNext 6
  413. GetNext 5
  414. GetNext 4
  415. IsPosValid 0
  416. # Test removal from the tail
  417. GetTailPosition
  418. GetAt 4
  419. RemoveAt
  420. GetCount 2
  421. IsPosValid 1
  422. GetAt 5
  423. RemoveAt
  424. IsPosValid 1
  425. GetAt 6
  426. RemoveAt
  427. IsPosValid 0
  428. IsEmpty 1
  429. # Test InsertBefore
  430. IsEmpty 1
  431. # Test insert on empty list
  432. GetHeadPosition
  433. InsertBefore 1
  434. GetCount 1
  435. GetAt 1
  436. # Test insert at head position with elements in the list
  437. GetHeadPosition
  438. InsertBefore 2
  439. GetAt 2
  440. # Test insert in the middle of a list
  441. GetAtNext 1 1
  442. InsertBefore 3
  443. GetAt 3
  444. # Test insert at tail
  445. GetTailPosition
  446. InsertBefore 4
  447. GetAt 4
  448. # verify that the list contains what we expect
  449. GetHeadPosition
  450. GetNext 2
  451. GetNext 3
  452. GetNext 4
  453. GetNext 1
  454. IsPosValid 0
  455. # Test insert with an invalid position
  456. InsertBefore 5
  457. IsPosValid 1
  458. GetHeadPosition
  459. GetNext 5
  460. GetNext 2
  461. GetNext 3
  462. GetNext 4
  463. GetNext 1
  464. RemoveHead
  465. RemoveHead
  466. RemoveHead
  467. RemoveHead
  468. RemoveHead
  469. # Test InsertAfter
  470. IsEmpty 1
  471. # Test insert into an empty list
  472. GetHeadPosition
  473. InsertAfter 1
  474. GetAt 1
  475. GetCount 1
  476. # Test insert at head with elements in the list
  477. GetHeadPosition
  478. InsertAfter 2
  479. GetAt 2
  480. # Test insert in the middle of ths list
  481. InsertAfter 3
  482. GetAt 3
  483. # Test insert at tail with elements in the list
  484. GetTailPosition
  485. InsertAfter 4
  486. GetAt 4
  487. # Verify the list contains what we expect
  488. GetHeadPosition
  489. GetNext 1
  490. GetNext 2
  491. GetNext 3
  492. GetNext 4
  493. IsPosValid 0
  494. # Test insert with an invalid position
  495. InsertAfter 5
  496. IsPosValid 1
  497. GetHeadPosition
  498. GetNext 1
  499. GetNext 2
  500. GetNext 3
  501. GetNext 4
  502. GetNext 5
  503. IsPosValid 0
  504. RemoveHead
  505. RemoveHead
  506. RemoveHead
  507. RemoveHead
  508. RemoveHead
  509. # Test InsertBefore and InsertAt mix
  510. IsEmpty 1
  511. GetHeadPosition
  512. InsertBefore 1
  513. InsertAfter 2
  514. InsertBefore 3
  515. InsertAfter 4
  516. GetHeadPosition
  517. GetNext 1
  518. GetNext 3
  519. GetNext 4
  520. GetNext 2
  521. IsPosValid 0
  522. InsertBefore 5
  523. GetPrev 5
  524. IsPosValid 0
  525. InsertAfter 6
  526. GetHeadPosition
  527. GetNext 5
  528. GetNext 1
  529. GetNext 3
  530. GetNext 4
  531. GetNext 2
  532. GetNext 6
  533. IsPosValid 0
  534. RemoveHead
  535. RemoveHead
  536. RemoveHead
  537. RemoveHead
  538. RemoveHead
  539. RemoveHead
  540. # Test Find
  541. IsEmpty 1
  542. # Test find on an empty list
  543. GetHeadPosition
  544. IsPosValid 0
  545. Find 1 0
  546. IsPosValid 0
  547. # Populate the list
  548. AddTail 1
  549. AddTail 2
  550. AddTail 3
  551. AddTail 2
  552. AddTail 4
  553. AddTail 5
  554. # Test find without specifying a position
  555. Find 2 0
  556. IsPosValid 1
  557. GetAt 2
  558. GetAtPrev 1 1
  559. GetAtNext 1 2
  560. GetAtNext 1 3
  561. # Test find by specifying the head as the starting position
  562. GetHeadPosition
  563. Find 2 1
  564. IsPosValid 1
  565. GetAt 2
  566. GetAtPrev 1 1
  567. GetAtNext 1 2
  568. GetAtNext 1 3
  569. # Test find by specifying a position in the middle
  570. Find 2 1
  571. IsPosValid 1
  572. GetAt 2
  573. GetAtPrev 1 3
  574. GetAtNext 1 2
  575. GetAtNext 1 4
  576. # Test Find by specifying the tail as the starting position
  577. GetTailPosition
  578. Find 2 1
  579. IsPosValid 0
  580. # Test Find with an invalid position specified
  581. Find 2 1
  582. IsPosValid 0
  583. # Test Find with a value not in the list
  584. Find 7 0
  585. IsPosValid 0
  586. GetHeadPosition
  587. Find 7 1
  588. IsPosValid 0
  589. GetHeadPosition
  590. GetNext 1
  591. GetNext 2
  592. GetNext 3
  593. Find 7 1
  594. IsPosValid 0
  595. RemoveHead
  596. RemoveHead
  597. RemoveHead
  598. RemoveHead
  599. RemoveHead
  600. RemoveHead
  601. # Test FindIndex
  602. IsEmpty 1
  603. # Test on empty list
  604. FindIndex 0
  605. IsPosValid 0
  606. AddTail 1
  607. AddTail 2
  608. AddTail 3
  609. AddTail 4
  610. FindIndex 0
  611. IsPosValid 1
  612. GetAt 1
  613. FindIndex 2
  614. IsPosValid 1
  615. GetAt 3
  616. FindIndex 1
  617. IsPosValid 1
  618. GetAt 2
  619. FindIndex 3
  620. IsPosValid 1
  621. GetAt 4
  622. FindIndex 4
  623. IsPosValid 0
  624. RemoveHead
  625. RemoveHead
  626. RemoveHead
  627. RemoveHead
  628. # Test AddHead(CHXSimpleList*)
  629. IsEmpty 1
  630. AddHeadList ""
  631. IsEmpty 1
  632. AddHeadList "1, 2, 3"
  633. GetCount 3
  634. GetHeadPosition
  635. GetNext 1
  636. GetNext 2
  637. GetNext 3
  638. IsPosValid 0
  639. AddHeadList ""
  640. GetCount 3
  641. AddHeadList "4, 5, 6"
  642. GetHeadPosition
  643. GetNext 4
  644. GetNext 5
  645. GetNext 6
  646. GetNext 1
  647. GetNext 2
  648. GetNext 3
  649. IsPosValid 0
  650. RemoveHead
  651. RemoveHead
  652. RemoveHead
  653. RemoveHead
  654. RemoveHead
  655. RemoveHead
  656. # Test AddTail(CHXSimpleList*)
  657. IsEmpty 1
  658. AddTailList ""
  659. IsEmpty 1
  660. AddTailList "1, 2, 3"
  661. GetCount 3
  662. GetHeadPosition
  663. GetNext 1
  664. GetNext 2
  665. GetNext 3
  666. IsPosValid 0
  667. AddTailList ""
  668. GetCount 3
  669. AddTailList "4, 5, 6"
  670. GetHeadPosition
  671. GetNext 1
  672. GetNext 2
  673. GetNext 3
  674. GetNext 4
  675. GetNext 5
  676. GetNext 6
  677. IsPosValid 0
  678. RemoveHead
  679. RemoveHead
  680. RemoveHead
  681. RemoveHead
  682. RemoveHead
  683. RemoveHead
  684. # Test iterator
  685. IsEmpty 1
  686. # Test iterator on empty list
  687. TestIterator
  688. AddTail 1
  689. AddTail 2
  690. AddTail 3
  691. TestIterator
  692. RemoveHead
  693. RemoveHead
  694. RemoveHead