My work for Hoon 101. Will remain private until the class is over.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

45 Zeilen
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. --