Skip to content

Commit 3eb78d6

Browse files
sync variable-length-quantity (#498)
resolves #497
1 parent 069dbcd commit 3eb78d6

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

exercises/practice/variable-length-quantity/.meta/tests.toml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ description = "Encode a series of integers, producing a series of bytes. -> zero
1515
[be44d299-a151-4604-a10e-d4b867f41540]
1616
description = "Encode a series of integers, producing a series of bytes. -> arbitrary single byte"
1717

18+
[890bc344-cb80-45af-b316-6806a6971e81]
19+
description = "Encode a series of integers, producing a series of bytes. -> asymmetric single byte"
20+
1821
[ea399615-d274-4af6-bbef-a1c23c9e1346]
1922
description = "Encode a series of integers, producing a series of bytes. -> largest single byte"
2023

@@ -24,6 +27,9 @@ description = "Encode a series of integers, producing a series of bytes. -> smal
2427
[63955a49-2690-4e22-a556-0040648d6b2d]
2528
description = "Encode a series of integers, producing a series of bytes. -> arbitrary double byte"
2629

30+
[4977d113-251b-4d10-a3ad-2f5a7756bb58]
31+
description = "Encode a series of integers, producing a series of bytes. -> asymmetric double byte"
32+
2733
[29da7031-0067-43d3-83a7-4f14b29ed97a]
2834
description = "Encode a series of integers, producing a series of bytes. -> largest double byte"
2935

@@ -33,6 +39,9 @@ description = "Encode a series of integers, producing a series of bytes. -> smal
3339
[5df0bc2d-2a57-4300-a653-a75ee4bd0bee]
3440
description = "Encode a series of integers, producing a series of bytes. -> arbitrary triple byte"
3541

42+
[6731045f-1e00-4192-b5ae-98b22e17e9f7]
43+
description = "Encode a series of integers, producing a series of bytes. -> asymmetric triple byte"
44+
3645
[f51d8539-312d-4db1-945c-250222c6aa22]
3746
description = "Encode a series of integers, producing a series of bytes. -> largest triple byte"
3847

@@ -42,6 +51,9 @@ description = "Encode a series of integers, producing a series of bytes. -> smal
4251
[11ed3469-a933-46f1-996f-2231e05d7bb6]
4352
description = "Encode a series of integers, producing a series of bytes. -> arbitrary quadruple byte"
4453

54+
[b45ef770-cbba-48c2-bd3c-c6362679516e]
55+
description = "Encode a series of integers, producing a series of bytes. -> asymmetric quadruple byte"
56+
4557
[d5f3f3c3-e0f1-4e7f-aad0-18a44f223d1c]
4658
description = "Encode a series of integers, producing a series of bytes. -> largest quadruple byte"
4759

@@ -51,6 +63,9 @@ description = "Encode a series of integers, producing a series of bytes. -> smal
5163
[5f34ff12-2952-4669-95fe-2d11b693d331]
5264
description = "Encode a series of integers, producing a series of bytes. -> arbitrary quintuple byte"
5365

66+
[9be46731-7cd5-415c-b960-48061cbc1154]
67+
description = "Encode a series of integers, producing a series of bytes. -> asymmetric quintuple byte"
68+
5469
[7489694b-88c3-4078-9864-6fe802411009]
5570
description = "Encode a series of integers, producing a series of bytes. -> maximum 32-bit integer input"
5671

exercises/practice/variable-length-quantity/variable-length-quantity-test.el

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
(should (equal (encode '(#x40)) '(#x40))))
1919

2020

21+
(ert-deftest asymmetric-single-byte ()
22+
(should (equal (encode '(#x53)) '(#x53))))
23+
24+
2125
(ert-deftest largest-single-byte ()
2226
(should (equal (encode '(#x7F)) '(#x7F))))
2327

@@ -30,6 +34,10 @@
3034
(should (equal (encode '(#x2000)) '(#xC0 #x0))))
3135

3236

37+
(ert-deftest asymmetric-double-byte ()
38+
(should (equal (encode '(#xAD)) '(#x81 #x2D))))
39+
40+
3341
(ert-deftest largest-double-byte ()
3442
(should (equal (encode '(#x3FFF)) '(#xFF #x7F))))
3543

@@ -42,6 +50,10 @@
4250
(should (equal (encode '(#x100000)) '(#xC0 #x80 #x0))))
4351

4452

53+
(ert-deftest asymmetric-triple-byte ()
54+
(should (equal (encode '(#x1D59C)) '(#x87 #xAB #x1C))))
55+
56+
4557
(ert-deftest largest-triple-byte ()
4658
(should (equal (encode '(#x1FFFFF)) '(#xFF #xFF #x7F))))
4759

@@ -54,6 +66,10 @@
5466
(should (equal (encode '(#x8000000)) '(#xC0 #x80 #x80 #x0))))
5567

5668

69+
(ert-deftest asymmetric-quadruple-byte ()
70+
(should (equal (encode '(#x357704)) '(#x81 #xD5 #xEE #x4))))
71+
72+
5773
(ert-deftest largest-quadruple-byte ()
5874
(should (equal (encode '(#xFFFFFFF)) '(#xFF #xFF #xFF #x7F))))
5975

@@ -66,6 +82,10 @@
6682
(should (equal (encode '(#xFF000000)) '(#x8F #xF8 #x80 #x80 #x0))))
6783

6884

85+
(ert-deftest asymmetric-quintuple-byte ()
86+
(should (equal (encode '(#x86656105)) '(#x88 #xB3 #x95 #xC2 #x5))))
87+
88+
6989
(ert-deftest maximum-32-bit-integer-input ()
7090
(should (equal (encode '(#xFFFFFFFF)) '(#x8F #xFF #xFF #xFF #x7F))))
7191

0 commit comments

Comments
 (0)