diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-26 20:20:12 -0800 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-26 20:20:38 -0800 |
| commit | 90c56d31352a0eeccd382ef5921baf3af4971040 (patch) | |
| tree | 5167eafb5785c94b48458b18b0454222ca70c749 /tests/collections.nom | |
| parent | d5aa4e52983712f9f4c5b23528d0c2dab12b0b33 (diff) | |
Added a ton of tests for virtually all the functionality. Helped me find
and fix a lot of latent problems.
Diffstat (limited to 'tests/collections.nom')
| -rw-r--r-- | tests/collections.nom | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/collections.nom b/tests/collections.nom new file mode 100644 index 0000000..ec79653 --- /dev/null +++ b/tests/collections.nom @@ -0,0 +1,43 @@ +#.. + Tests for the stuff defined in lib/control_flow.nom + +use "lib/core.nom" + +assume ((2nd to last in [1,2,3,4,5]) = 4) +assume ((first in [1,2]) = 1) +assume ((last in [1,2]) = 2) +assume (3 is in [1,2,3,4,5]) +assume (99 isn't in [1,2,3]) +assume ({x:no} has key "x") +assume ({x:no} doesn't have key "y") +assume (not ({x:no} doesn't have key "x")) +assume ((size of [1,2,3]) = 3) +%list <- [1,2,3,4,5] +append 6 to %list +assume ((last in %list) = 6) +pop from %list +assume ((last in %list) = 5) +remove index 1 from %list +assume ((first in %list) = 2) +assume (((% * %) for all [1,2,3]) = [1,4,9]) +assume ((%k = (%v * %v) for %k = %v in {x:1,y:2,z:3}) = {x:1,y:4,z:9}) +assume ((%k for %k = %v in {x:1}) = ["x"]) +assume ((% = (% * %) for all [1,2,3]) = {1:1,2:4,3:9}) +assume (([[1,2],[3,4]] flattened) = [1,2,3,4]) +assume ((entries in {x:1}) = [{key:"x",value:1}]) +assume ((keys in {x:1}) = ["x"]) +assume ((values in {x:1}) = [1]) +assume ((sorted [3,1,2]) = [1,2,3]) +%x <- [3,1,2] +sort %x +assume (%x = [1,2,3]) +sort %x by (-%) +assume (%x = [3,2,1]) +%keys <- {1:999,2:0,3:50} +sort %x by (% in %keys) +assume (%x = [2,3,1]) +assume ((unique [1,2,1,3,2,3]) = [1,2,3]) +%c <- (new counter) +for all ["x","y","x","x","y"] + (% in %c) +<- 1 +assume (%c = {x:3,y:2}) |
