From a8fb829117b025b8c3849f6b19ac3e22f718ea4e Mon Sep 17 00:00:00 2001 From: rbasso Date: Sat, 11 Mar 2017 21:44:20 +0900 Subject: [PATCH 1/2] variable-length-quantity: Make canonical-data.json compliant --- .../canonical-data.json | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/exercises/variable-length-quantity/canonical-data.json b/exercises/variable-length-quantity/canonical-data.json index b8907c0486..314ca580ec 100644 --- a/exercises/variable-length-quantity/canonical-data.json +++ b/exercises/variable-length-quantity/canonical-data.json @@ -1,147 +1,177 @@ { - "#": [ + "exercise": "variable-length-quantity", + "version": "1.0.0", + "comments": [ "JSON doesn't allow hexadecimal literals.", "All numbers are given as decimal literals instead.", "It is highly recommended that your track's test generator display all numbers as hexadecimal literals." ], - "encode": { - "description": ["Encode a series of integers, producing a series of bytes."], + "cases": [ + { + "description": "Encode a series of integers, producing a series of bytes.", "cases": [ { "description": "zero", + "property": "encode", "input": [0], "expected": [0] }, { "description": "arbitrary single byte", + "property": "encode", "input": [64], "expected": [64] }, { "description": "largest single byte", + "property": "encode", "input": [127], "expected": [127] }, { "description": "smallest double byte", + "property": "encode", "input": [128], "expected": [129, 0] }, { "description": "arbitrary double byte", + "property": "encode", "input": [8192], "expected": [192, 0] }, { "description": "largest double byte", + "property": "encode", "input": [16383], "expected": [255, 127] }, { "description": "smallest triple byte", + "property": "encode", "input": [16384], "expected": [129, 128, 0] }, { "description": "arbitrary triple byte", + "property": "encode", "input": [1048576], "expected": [192, 128, 0] }, { "description": "largest triple byte", + "property": "encode", "input": [2097151], "expected": [255, 255, 127] }, { "description": "smallest quadruple byte", + "property": "encode", "input": [2097152], "expected": [129, 128, 128, 0] }, { "description": "arbitrary quadruple byte", + "property": "encode", "input": [134217728], "expected": [192, 128, 128, 0] }, { "description": "largest quadruple byte", + "property": "encode", "input": [268435455], "expected": [255, 255, 255, 127] }, { "description": "smallest quintuple byte", + "property": "encode", "input": [268435456], "expected": [129, 128, 128, 128, 0] }, { "description": "arbitrary quintuple byte", + "property": "encode", "input": [4278190080], "expected": [143, 248, 128, 128, 0] }, { "description": "maximum 32-bit integer input", + "property": "encode", "input": [4294967295], "expected": [143, 255, 255, 255, 127] }, { "description": "two single-byte values", + "property": "encode", "input": [64, 127], "expected": [64, 127] }, { "description": "two multi-byte values", + "property": "encode", "input": [16384, 1193046], "expected": [129, 128, 0, 200, 232, 86] }, { "description": "many multi-byte values", + "property": "encode", "input": [8192, 1193046, 268435455, 0, 16383, 16384], "expected": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0] } ] }, - "decode": { - "description": ["Decode a series of bytes, producing a series of integers."], + { + "description": "Decode a series of bytes, producing a series of integers.", "cases": [ { "description": "one byte", + "property": "decode", "input": [127], "expected": [127] }, { "description": "two bytes", + "property": "decode", "input": [192, 0], "expected": [8192] }, { "description": "three bytes", + "property": "decode", "input": [255, 255, 127], "expected": [2097151] }, { "description": "four bytes", + "property": "decode", "input": [129, 128, 128, 0], "expected": [2097152] }, { "description": "maximum 32-bit integer", + "property": "decode", "input": [143, 255, 255, 255, 127], "expected": [4294967295] }, { "description": "incomplete sequence causes error", + "property": "decode", "input": [255], "expected": null }, { "description": "incomplete sequence causes error, even if value is zero", + "property": "decode", "input": [128], "expected": null }, { "description": "multiple values", + "property": "decode", "input": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0], "expected": [8192, 1193046, 268435455, 0, 16383, 16384] } ] } + ] } From d6a62f7675c327501d07cf21f2b8c97bbc3d9d62 Mon Sep 17 00:00:00 2001 From: rbasso Date: Sat, 11 Mar 2017 21:49:12 +0900 Subject: [PATCH 2/2] variable-length-quantity: Fix canonical-data.json formatting --- .../canonical-data.json | 332 +++++++++--------- 1 file changed, 166 insertions(+), 166 deletions(-) diff --git a/exercises/variable-length-quantity/canonical-data.json b/exercises/variable-length-quantity/canonical-data.json index 314ca580ec..73e7380546 100644 --- a/exercises/variable-length-quantity/canonical-data.json +++ b/exercises/variable-length-quantity/canonical-data.json @@ -7,171 +7,171 @@ "It is highly recommended that your track's test generator display all numbers as hexadecimal literals." ], "cases": [ - { - "description": "Encode a series of integers, producing a series of bytes.", - "cases": [ - { - "description": "zero", - "property": "encode", - "input": [0], - "expected": [0] - }, - { - "description": "arbitrary single byte", - "property": "encode", - "input": [64], - "expected": [64] - }, - { - "description": "largest single byte", - "property": "encode", - "input": [127], - "expected": [127] - }, - { - "description": "smallest double byte", - "property": "encode", - "input": [128], - "expected": [129, 0] - }, - { - "description": "arbitrary double byte", - "property": "encode", - "input": [8192], - "expected": [192, 0] - }, - { - "description": "largest double byte", - "property": "encode", - "input": [16383], - "expected": [255, 127] - }, - { - "description": "smallest triple byte", - "property": "encode", - "input": [16384], - "expected": [129, 128, 0] - }, - { - "description": "arbitrary triple byte", - "property": "encode", - "input": [1048576], - "expected": [192, 128, 0] - }, - { - "description": "largest triple byte", - "property": "encode", - "input": [2097151], - "expected": [255, 255, 127] - }, - { - "description": "smallest quadruple byte", - "property": "encode", - "input": [2097152], - "expected": [129, 128, 128, 0] - }, - { - "description": "arbitrary quadruple byte", - "property": "encode", - "input": [134217728], - "expected": [192, 128, 128, 0] - }, - { - "description": "largest quadruple byte", - "property": "encode", - "input": [268435455], - "expected": [255, 255, 255, 127] - }, - { - "description": "smallest quintuple byte", - "property": "encode", - "input": [268435456], - "expected": [129, 128, 128, 128, 0] - }, - { - "description": "arbitrary quintuple byte", - "property": "encode", - "input": [4278190080], - "expected": [143, 248, 128, 128, 0] - }, - { - "description": "maximum 32-bit integer input", - "property": "encode", - "input": [4294967295], - "expected": [143, 255, 255, 255, 127] - }, - { - "description": "two single-byte values", - "property": "encode", - "input": [64, 127], - "expected": [64, 127] - }, - { - "description": "two multi-byte values", - "property": "encode", - "input": [16384, 1193046], - "expected": [129, 128, 0, 200, 232, 86] - }, - { - "description": "many multi-byte values", - "property": "encode", - "input": [8192, 1193046, 268435455, 0, 16383, 16384], - "expected": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0] - } - ] - }, - { - "description": "Decode a series of bytes, producing a series of integers.", - "cases": [ - { - "description": "one byte", - "property": "decode", - "input": [127], - "expected": [127] - }, - { - "description": "two bytes", - "property": "decode", - "input": [192, 0], - "expected": [8192] - }, - { - "description": "three bytes", - "property": "decode", - "input": [255, 255, 127], - "expected": [2097151] - }, - { - "description": "four bytes", - "property": "decode", - "input": [129, 128, 128, 0], - "expected": [2097152] - }, - { - "description": "maximum 32-bit integer", - "property": "decode", - "input": [143, 255, 255, 255, 127], - "expected": [4294967295] - }, - { - "description": "incomplete sequence causes error", - "property": "decode", - "input": [255], - "expected": null - }, - { - "description": "incomplete sequence causes error, even if value is zero", - "property": "decode", - "input": [128], - "expected": null - }, - { - "description": "multiple values", - "property": "decode", - "input": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0], - "expected": [8192, 1193046, 268435455, 0, 16383, 16384] - } - ] - } + { + "description": "Encode a series of integers, producing a series of bytes.", + "cases": [ + { + "description": "zero", + "property": "encode", + "input": [0], + "expected": [0] + }, + { + "description": "arbitrary single byte", + "property": "encode", + "input": [64], + "expected": [64] + }, + { + "description": "largest single byte", + "property": "encode", + "input": [127], + "expected": [127] + }, + { + "description": "smallest double byte", + "property": "encode", + "input": [128], + "expected": [129,0] + }, + { + "description": "arbitrary double byte", + "property": "encode", + "input": [8192], + "expected": [192, 0] + }, + { + "description": "largest double byte", + "property": "encode", + "input": [16383], + "expected": [255, 127] + }, + { + "description": "smallest triple byte", + "property": "encode", + "input": [16384], + "expected": [129, 128, 0] + }, + { + "description": "arbitrary triple byte", + "property": "encode", + "input": [1048576], + "expected": [192, 128, 0] + }, + { + "description": "largest triple byte", + "property": "encode", + "input": [2097151], + "expected": [255, 255, 127] + }, + { + "description": "smallest quadruple byte", + "property": "encode", + "input": [2097152], + "expected": [129, 128, 128, 0] + }, + { + "description": "arbitrary quadruple byte", + "property": "encode", + "input": [134217728], + "expected": [192, 128, 128, 0] + }, + { + "description": "largest quadruple byte", + "property": "encode", + "input": [268435455], + "expected": [255, 255, 255, 127] + }, + { + "description": "smallest quintuple byte", + "property": "encode", + "input": [268435456], + "expected": [129, 128, 128, 128, 0] + }, + { + "description": "arbitrary quintuple byte", + "property": "encode", + "input": [4278190080], + "expected": [143, 248, 128, 128, 0] + }, + { + "description": "maximum 32-bit integer input", + "property": "encode", + "input": [4294967295], + "expected": [143, 255, 255, 255, 127] + }, + { + "description": "two single-byte values", + "property": "encode", + "input": [64, 127], + "expected": [64, 127] + }, + { + "description": "two multi-byte values", + "property": "encode", + "input": [16384, 1193046], + "expected": [129, 128, 0, 200, 232, 86] + }, + { + "description": "many multi-byte values", + "property": "encode", + "input": [8192, 1193046, 268435455, 0, 16383, 16384], + "expected": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0] + } + ] + }, + { + "description": "Decode a series of bytes, producing a series of integers.", + "cases": [ + { + "description": "one byte", + "property": "decode", + "input": [127], + "expected": [127] + }, + { + "description": "two bytes", + "property": "decode", + "input": [192, 0], + "expected": [8192] + }, + { + "description": "three bytes", + "property": "decode", + "input": [255, 255, 127], + "expected": [2097151] + }, + { + "description": "four bytes", + "property": "decode", + "input": [129, 128, 128, 0], + "expected": [2097152] + }, + { + "description": "maximum 32-bit integer", + "property": "decode", + "input": [143, 255, 255, 255, 127], + "expected": [4294967295] + }, + { + "description": "incomplete sequence causes error", + "property": "decode", + "input": [255], + "expected": null + }, + { + "description": "incomplete sequence causes error, even if value is zero", + "property": "decode", + "input": [128], + "expected": null + }, + { + "description": "multiple values", + "property": "decode", + "input": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0], + "expected": [8192, 1193046, 268435455, 0, 16383, 16384] + } + ] + } ] }