My work for Hoon 101. Will remain private until the class is over.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

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