45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
:: Hoon 201 - Week 6
|
|
:: ~bannum-magtus | s@p7.co.nz
|
|
::
|
|
/+ *test, dfs
|
|
::
|
|
|%
|
|
++ test-dfs-search ^- tang
|
|
=/ null-tree=(tree @) *(tree @)
|
|
=/ fill-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
|
|
;: weld
|
|
:: cant find something in an empty tree
|
|
%+ expect-eq
|
|
!> %.n
|
|
!> (search:dfs null-tree 42)
|
|
:: cant find something thats not in a tree
|
|
%+ expect-eq
|
|
!> %.n
|
|
!> (search:dfs fill-tree 42)
|
|
:: can find something that is in a tree
|
|
%+ expect-eq
|
|
!> %.y
|
|
!> (search:dfs fill-tree 12)
|
|
==
|
|
++ test-dfs-traverse ^- tang
|
|
=/ null-tree=(tree @) *(tree @)
|
|
=/ a-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
|
|
=/ b-tree=(tree @) [8 [4 [12 ~ ~] ~] [16 ~ [14 ~ ~]]]
|
|
=/ a-list=(list @) [4 8 16 14 12 ~]
|
|
=/ b-list=(list @) [12 4 14 16 8 ~]
|
|
;: weld
|
|
:: null tree has empty traversal
|
|
%+ expect-eq
|
|
!> ~
|
|
!> (traverse:dfs null-tree)
|
|
:: tree a has traversal a
|
|
%+ expect-eq
|
|
!> a-list
|
|
!> (traverse:dfs a-tree)
|
|
:: tree b has traversal b
|
|
%+ expect-eq
|
|
!> b-list
|
|
!> (traverse:dfs b-tree)
|
|
==
|
|
--
|