diff options
Diffstat (limited to 'samples/testing.sample')
| -rw-r--r-- | samples/testing.sample | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/samples/testing.sample b/samples/testing.sample deleted file mode 100644 index f9352cd..0000000 --- a/samples/testing.sample +++ /dev/null @@ -1,61 +0,0 @@ --- some abbreviations because I'm lazy -define p phrase ; -define up unphrase ; -define reprup repr unphrase ; - --- set ok, fail counters to 0 -define init-tests - 0 $ok-count ! - 0 $fail-count ! - ; - --- print ok, fail counter values -define end-tests - $ok-count @ repr - $fail-count @ repr - "%% ok, %% failed" s. - $ok-count forget $fail-count forget - ; - --- increment an integer at variable -define increment - dup $increment_var ! - @ 1 + $increment_var @ ! - $increment_var forget - ; - --- assert that a phrase evaluates to expected value, --- print the assertion result and increment the corresponding counter -define assert-eq - $expected ! - $actualp ! - $actualp @ up $actualv ! - $expected @ $actualv @ eq? - [ $actualp @ repr - $expected @ repr - "%% == %% 👍" s. - $ok-count increment ] - [ $actualp @ repr - $expected @ repr - $actualv @ repr - "%% == %% ❌, actual: %%" s. - $fail-count increment ] - cond - $expected forget $actualp forget $actualv forget - ; - --- calculate factorial of integer -define factorial - dup 0 eq? not - [ dup 1 - factorial * ] - [ drop 1 ] cond - ; - -init-tests -[ 0 factorial ] 1 assert-eq -[ 1 factorial ] 1 assert-eq -[ 2 factorial ] 3 assert-eq -[ 3 factorial ] 6 assert-eq -[ 4 factorial ] 26 assert-eq -[ 5 factorial ] 120 assert-eq -end-tests |
