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

Symbian

开发平台:

C/C++

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