mirror of
https://github.com/urbit/shrub.git
synced 2024-12-21 09:51:36 +03:00
38 lines
917 B
Plaintext
38 lines
917 B
Plaintext
/+ *test
|
|
|%
|
|
++ test-slam-wa-dry ^- tang
|
|
::
|
|
%+ expect-eq
|
|
!>(7)
|
|
-:(~(slam wa *worm) !>(add) !>([3 4]))
|
|
:: +test-slam-wa-wet: does +slam:wa perform correct wet type inference?
|
|
::
|
|
:: Also test that the cache doesn't gain any new entries when given a
|
|
:: sample of a previously seen type.
|
|
::
|
|
++ test-slam-wa-wet ^- tang
|
|
:: use the same .list-type for both calls
|
|
::
|
|
:: Types defined on different lines won't be noun-equal, and so
|
|
:: won't test that the cache kicked in on the second entry.
|
|
::
|
|
=/ list-type=type -:!>(*(list @))
|
|
=| worm0=worm
|
|
=+ [res1 worm1]=(~(slam wa worm0) !>(flop) [list-type ~[1 2 3]])
|
|
=+ [res2 worm2]=(~(slam wa worm1) !>(flop) [list-type ~[4 5 6]])
|
|
::
|
|
;: weld
|
|
%+ expect-eq
|
|
res1
|
|
[list-type ~[3 2 1]]
|
|
::
|
|
%+ expect-eq
|
|
res2
|
|
[list-type ~[6 5 4]]
|
|
::
|
|
%+ expect-eq
|
|
!> worm1
|
|
!> worm2
|
|
==
|
|
--
|