My work for Hoon 101. Will remain private until the class is over.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

45 строки
1.1KB

  1. :: Hoon 201 - Week 6
  2. :: ~bannum-magtus | s@p7.co.nz
  3. ::
  4. /+ *test, dfs
  5. ::
  6. |%
  7. ++ test-dfs-search ^- tang
  8. =/ null-tree=(tree @) *(tree @)
  9. =/ fill-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
  10. ;: weld
  11. :: cant find something in an empty tree
  12. %+ expect-eq
  13. !> %.n
  14. !> (search:dfs null-tree 42)
  15. :: cant find something thats not in a tree
  16. %+ expect-eq
  17. !> %.n
  18. !> (search:dfs fill-tree 42)
  19. :: can find something that is in a tree
  20. %+ expect-eq
  21. !> %.y
  22. !> (search:dfs fill-tree 12)
  23. ==
  24. ++ test-dfs-traverse ^- tang
  25. =/ null-tree=(tree @) *(tree @)
  26. =/ a-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
  27. =/ b-tree=(tree @) [8 [4 [12 ~ ~] ~] [16 ~ [14 ~ ~]]]
  28. =/ a-list=(list @) [4 8 16 14 12 ~]
  29. =/ b-list=(list @) [12 4 14 16 8 ~]
  30. ;: weld
  31. :: null tree has empty traversal
  32. %+ expect-eq
  33. !> ~
  34. !> (traverse:dfs null-tree)
  35. :: tree a has traversal a
  36. %+ expect-eq
  37. !> a-list
  38. !> (traverse:dfs a-tree)
  39. :: tree b has traversal b
  40. %+ expect-eq
  41. !> b-list
  42. !> (traverse:dfs b-tree)
  43. ==
  44. --