/test/lib/storage/dictionary/test_linked_hashed_dictionary.e

http://github.com/tybor/Liberty · Specman e · 53 lines · 42 code · 11 blank · 0 comment · 0 complexity · 553641d644ba2c0c7f4215be3cdab650 MD5 · raw file

  1. class TEST_LINKED_HASHED_DICTIONARY
  2. insert
  3. EIFFELTEST_TOOLS
  4. create {}
  5. make
  6. feature {}
  7. make
  8. local
  9. dict: LINKED_HASHED_DICTIONARY[INTEGER, STRING]
  10. list_keys: FAST_ARRAY[STRING]
  11. list_items: FAST_ARRAY[INTEGER]
  12. do
  13. create dict.make
  14. dict.add(1, "first")
  15. dict.add(2, "second")
  16. dict.add(3, "third")
  17. create list_keys.make(0)
  18. dict.key_map_in(list_keys)
  19. assert(list_keys.item(0).is_equal("first"))
  20. assert(list_keys.item(1).is_equal("second"))
  21. assert(list_keys.item(2).is_equal("third"))
  22. create list_items.make(0)
  23. dict.item_map_in(list_items)
  24. assert(list_items.item(0) = 1)
  25. assert(list_items.item(1) = 2)
  26. assert(list_items.item(2) = 3)
  27. assert(dict.new_iterator_on_keys.for_all(agent check_list_keys(?, list_keys)))
  28. assert(dict.new_iterator_on_items.for_all(agent check_list_items(?, list_items)))
  29. end
  30. check_list_keys (key: STRING; list_keys: COLLECTION[STRING]): BOOLEAN
  31. do
  32. Result := list_keys.item(list_key_index).is_equal(key)
  33. list_key_index := list_key_index + 1
  34. end
  35. list_key_index: INTEGER
  36. check_list_items (item: INTEGER; list_items: COLLECTION[INTEGER]): BOOLEAN
  37. do
  38. Result := list_items.item(list_item_index) = item
  39. list_item_index := list_item_index + 1
  40. end
  41. list_item_index: INTEGER
  42. end