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

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