aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-08-16 22:14:51 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-08-16 22:16:14 -0400
commit81e569fe92c4b5047b91550305f8b61b8b67e5d3 (patch)
treea52bf12541fda1492186f26a1db098c4826093b5 /test
parent37ce3e42a9842c9cd66d19cb3d13aded1f9ce9bb (diff)
Add some header tests based on dzaima/BQN's
Diffstat (limited to 'test')
-rw-r--r--test/cases/header.bqn28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/cases/header.bqn b/test/cases/header.bqn
index a303ecf6..5fd646a3 100644
--- a/test/cases/header.bqn
+++ b/test/cases/header.bqn
@@ -8,10 +8,12 @@
! % {𝕩;{3-𝕩}𝕨;𝕩}
! % {≍𝕩;}
! % {a←𝕩;a-𝕨}
+! % {𝔽𝕩;𝕩}
6 % {2×𝕩;𝕨÷𝕩}3
4 % 12{2×𝕩;,𝕨÷𝕩}3
7 % {d←𝕩×2,1+d,;!𝕨}3
3 % 3{a←𝕩⋄;β‹„β‹„a←𝕨}5
+6 % a←2β‹„9{𝕀,a←5,a;a×𝕩}3
! % ( {a←𝕩;a⇐𝕨}5).a
4 % (4{a←𝕩;a⇐𝕨}5).a
2 % {⟨bβŸ©β†π•©β‹„b;𝕨,!0}{a⇐1+b⇐2}
@@ -26,6 +28,7 @@
! % {𝕩;π•Šπ•©:-𝕩;𝕨}
! % {π•Šπ•©:-𝕩;𝕨;𝕨}
! % {π•Šπ•©:-𝕩;𝕩;1+𝕩;2+𝕩}
+! % {𝕩; ;𝕨}
! % {π•Šπ•©:𝕨}
! % {F:6;v:4}
! % {a:1;a←2}
@@ -37,32 +40,50 @@
3 % a←1β‹„a+{v:a←2β‹„b←3β‹„a}
! % {l:1+l}
! % {𝕀:2+2}
+! % {v:𝕩}
+! % {{v:𝕩}}0
2 % {R:1(⊣R⍟(Β¬π•¨βŠ£0)+)𝕩}0
1 % {F:𝕀≑f}˜@
1 % F←{F:!0},1
0 % {F:𝕀↩↕2β‹„=f}Β―1
1 % {π•Š:𝕀↩↕2β‹„=𝕀}Β―1
1 % {π•Š:-𝕩}Β―1
+! % {F:_𝕣}
+! % {π•Š:𝔽}
+! % {F:𝔾}
! % {𝔽:-𝕩}Β―1
1 % {Fn:𝕨-𝕩}Β―1
4 % 3{Fn:𝕨-𝕩}Β―1
4 % Γ—{_m:π”½Λœπ•©}2
3 % 12{_𝕣_:π•—Γ·π•˜}4
3 % Β―3{_m_:-𝕗}2
+! % {_r:𝔾}
# Syntax
+! % {;2⋆𝕩}
+! % {:{β‹†Λœπ•©}Λœπ•©}
! % {-𝕩:𝕩}
! % {F𝔽: ÷𝕗}
+! % {π•¨π•Š,:1,}
! % {_𝕣𝕗:0}
! % {_mπ•˜:1}
! % {Β·_𝕣:-1}
! % {𝕗_𝕣_π•˜:𝕨‿𝕩}
! % {π•˜_𝕣_𝕗:𝕣}
+! % {𝕗_𝕣_𝕗:@}
! % {,π•¨π•Šπ•Šπ•©:{𝕩+1}𝕨}
+! % {π•¨π•Šπ•©π•©:𝕩}
+! % {π•¨π•¨π•Šπ•©:𝕨}
+! % {𝕨𝕣𝕩:𝕩}
! % ⟨@,{π•¨β€Ώπ•©π•Šπ•©:@}⟩
! % {π•Š:π•Š:𝕩}
+! % {π•¨π•Šπ•©::@}
+! % {π•Š0 1:𝕩}
! % {π•Ša:𝕩 β‹„ π•Šb:𝕩}
! % {π•ŠβŸ¨a←b⟩:𝕩}
+! % {𝔽_𝕣_1:1;𝔽_𝕣_𝔾:2}
+! % {⟨a,b⟩_r:aβ€Ώb⊸β₯Š;a _r: aβ€Ώa _r}
+! % {⟨a,b⟩_r:aβ€Ώb⊸β₯Š;a _r 𝕩: aβ€Ώa _r 𝕩}
# Headers
5 % {π•¨π•Šπ•©:1+𝕩}4
@@ -79,13 +100,20 @@
8 % 1{𝕗_m:5{𝕩_m}⍟>2×𝕗}
2 % 0.5 {𝕗_c_𝔾,:𝔾𝕗,} Γ·
3 % 6{𝔽 _𝕣_ G:π•—Γ·π•˜}2
+1 % {-Γ·}≑1-{𝕨𝕗_𝕣_π•˜π•©:𝔽𝔾}Γ·2
+! % 1-{𝕗_𝕣_π•˜π•©:𝔽𝔾}Γ·2
# Headers and bodies
1 % {π•Šπ•©:0;π•¨π•Šπ•©:1}{(𝔽5)<(4𝔽5)}
3 % {𝕨A𝕩:𝕨≠𝕩;𝕨B𝕩:!0}"xyz"
5 % {{𝕨F𝕩:a←𝕩,{!a≑𝕩,a-3}𝕨;π•Š:!0}{𝔽_𝕣:π•—Λœ}{2×𝕩;𝕨}4}
+4 % +⟜1{𝔽_r_𝔾 𝕩:𝔽𝕩; 𝕨𝔽_r_𝔾𝕩:𝕨𝔾𝕩}⋆ 3
+8 % 2 +⟜1{𝔽_r_𝔾 𝕩:𝔽𝕩; 𝕨𝔽_r_𝔾𝕩:𝕨𝔾𝕩}⋆ 3
+2 % +⟜1{F _r_ G:{π•Šπ•©:F𝕩; π•¨π•Šπ•©:𝕨G𝕩}}⋆{2βŠΈπ”½Γ·π”½}3
# Destructuring
2 % {π•Šaβ€Ώb:b-a}3β€Ώ5
! % {π•Šaβ€Ώb:𝕩}↕4
3 % {π•Šaβ€Ώb:b-a;≠𝕩}3β€Ώ5β€Ώ6
+3 % 1 {⟨a,b⟩_r𝕩:a+b×𝕩; a _r𝕩:aβ€Ώa _r 𝕩} 2
+7 % 1β€Ώ3{⟨a,b⟩_r𝕩:a+b×𝕩; a _r𝕩:aβ€Ώa _r 𝕩} 2