trackler 2.1.0.6 → 2.1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/common/exercises/rail-fence-cipher/canonical-data.json +7 -7
- data/common/exercises/scrabble-score/description.md +2 -2
- data/lib/trackler/version.rb +1 -1
- data/tracks/delphi/exercises/clock/uClockExample.pas +5 -5
- data/tracks/delphi/exercises/clock/uClockTest.pas +435 -49
- data/tracks/ocaml/exercises/triangle/example.ml +1 -1
- data/tracks/ocaml/exercises/triangle/test.ml +8 -8
- data/tracks/ocaml/exercises/triangle/triangle.mli +1 -1
- data/tracks/ocaml/tools/test-generator/templates/triangle/template.ml +3 -3
- data/tracks/perl6/exercises/all-your-base/AllYourBase.pm6 +1 -1
- data/tracks/perl6/exercises/all-your-base/Example.pm +2 -2
- data/tracks/perl6/exercises/all-your-base/all-your-base.t +215 -138
- data/tracks/perl6/exercises/all-your-base/example.yaml +14 -0
- data/tracks/ruby/exercises/acronym/.meta/generator/acronym_cases.rb +1 -1
- data/tracks/ruby/exercises/all-your-base/.meta/generator/all_your_base_cases.rb +4 -10
- data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +3 -0
- data/tracks/ruby/exercises/alphametics/.meta/generator/alphametics_cases.rb +1 -1
- data/tracks/ruby/exercises/alphametics/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/anagram/.meta/generator/anagram_cases.rb +1 -1
- data/tracks/ruby/exercises/beer-song/.meta/generator/beer_song_cases.rb +3 -6
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +1 -1
- data/tracks/ruby/exercises/binary/.meta/generator/binary_cases.rb +1 -1
- data/tracks/ruby/exercises/bowling/.meta/generator/bowling_cases.rb +1 -1
- data/tracks/ruby/exercises/bowling/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/bracket-push/.meta/generator/bracket_push_cases.rb +1 -1
- data/tracks/ruby/exercises/clock/.meta/generator/clock_cases.rb +1 -1
- data/tracks/ruby/exercises/connect/.meta/generator/connect_cases.rb +1 -1
- data/tracks/ruby/exercises/connect/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/custom-set/.meta/generator/custom_set_cases.rb +1 -1
- data/tracks/ruby/exercises/difference-of-squares/.meta/generator/difference_of_squares_cases.rb +1 -1
- data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +0 -6
- data/tracks/ruby/exercises/dominoes/.meta/generator/dominoes_cases.rb +1 -1
- data/tracks/ruby/exercises/dominoes/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/etl/.meta/generator/etl_cases.rb +1 -1
- data/tracks/ruby/exercises/gigasecond/.meta/generator/gigasecond_cases.rb +1 -1
- data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +3 -5
- data/tracks/ruby/exercises/grains/.meta/generator/grains_cases.rb +1 -1
- data/tracks/ruby/exercises/hamming/.meta/generator/hamming_cases.rb +1 -1
- data/tracks/ruby/exercises/hello-world/.meta/generator/hello_world_cases.rb +1 -1
- data/tracks/ruby/exercises/hello-world/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/isogram/.meta/generator/isogram_cases.rb +1 -1
- data/tracks/ruby/exercises/largest-series-product/.meta/generator/largest_series_product_cases.rb +1 -1
- data/tracks/ruby/exercises/leap/.meta/generator/leap_cases.rb +1 -1
- data/tracks/ruby/exercises/leap/{example.tt → .meta/generator/test_template.erb} +0 -0
- data/tracks/ruby/exercises/luhn/.meta/generator/luhn_cases.rb +1 -1
- data/tracks/ruby/exercises/nth-prime/.meta/generator/nth_prime_cases.rb +1 -1
- data/tracks/ruby/exercises/ocr-numbers/.meta/generator/ocr_numbers_cases.rb +1 -1
- data/tracks/ruby/exercises/pangram/.meta/generator/pangram_cases.rb +1 -1
- data/tracks/ruby/exercises/pig-latin/.meta/generator/pig_latin_cases.rb +1 -1
- data/tracks/ruby/exercises/queen-attack/.meta/generator/queen_attack_cases.rb +1 -1
- data/tracks/ruby/exercises/raindrops/.meta/generator/raindrops_cases.rb +1 -1
- data/tracks/ruby/exercises/rna-transcription/.meta/generator/rna_transcription_cases.rb +1 -1
- data/tracks/ruby/exercises/roman-numerals/.meta/generator/roman_numerals_cases.rb +1 -1
- data/tracks/ruby/exercises/run-length-encoding/.meta/generator/run_length_encoding_cases.rb +1 -1
- data/tracks/ruby/exercises/say/.meta/generator/say_cases.rb +1 -1
- data/tracks/ruby/exercises/sieve/.meta/generator/sieve_cases.rb +1 -1
- data/tracks/ruby/exercises/tournament/.meta/generator/tournament_cases.rb +7 -24
- data/tracks/ruby/exercises/tournament/tournament_test.rb +37 -38
- data/tracks/ruby/exercises/transpose/.meta/generator/transpose_cases.rb +7 -23
- data/tracks/ruby/exercises/transpose/transpose_test.rb +22 -22
- data/tracks/ruby/exercises/triangle/.meta/generator/triangle_cases.rb +1 -1
- data/tracks/ruby/exercises/two-bucket/.meta/generator/two_bucket_cases.rb +1 -1
- data/tracks/ruby/exercises/word-count/.meta/generator/word_count_cases.rb +1 -1
- data/tracks/ruby/exercises/wordy/.meta/generator/wordy_cases.rb +1 -1
- data/tracks/ruby/lib/generator/exercise_case/assertion.rb +33 -0
- data/tracks/ruby/lib/generator/exercise_cases.rb +46 -49
- data/tracks/ruby/lib/generator/files/generator_cases.rb +0 -14
- data/tracks/ruby/test/fixtures/xruby/{lib → exercises/alpha/.meta/generator}/alpha_cases.rb +0 -0
- data/tracks/ruby/test/fixtures/xruby/exercises/beta/.meta/generator/beta_cases.rb +1 -1
- data/tracks/ruby/test/generator/case_values_test.rb +5 -5
- data/tracks/ruby/test/generator/exercise_case/assertion_test.rb +46 -0
- data/tracks/ruby/test/generator/exercise_cases_test.rb +47 -0
- data/tracks/ruby/test/generator/files/generate_cases_test.rb +0 -12
- metadata +13 -15
- data/tracks/ruby/exercises/all-your-base/example.tt +0 -18
- data/tracks/ruby/exercises/beer-song/example.tt +0 -24
- data/tracks/ruby/exercises/difference-of-squares/example.tt +0 -27
- data/tracks/ruby/exercises/gigasecond/example.tt +0 -23
- data/tracks/ruby/exercises/tournament/example.tt +0 -25
- data/tracks/ruby/exercises/transpose/example.tt +0 -24
@@ -10,6 +10,6 @@ let is_triangle a b c =
|
|
10
10
|
|
11
11
|
let is_equilateral a b c = is_triangle a b c && a = b && b = c
|
12
12
|
|
13
|
-
let
|
13
|
+
let is_isosceles a b c = is_triangle a b c && (a = b || b = c || a = c)
|
14
14
|
|
15
15
|
let is_scalene a b c = is_triangle a b c && (a <> b && b <> c)
|
@@ -15,19 +15,19 @@ let equilateral_tests = [
|
|
15
15
|
ae false (is_equilateral 0 0 0);
|
16
16
|
]
|
17
17
|
|
18
|
-
let
|
18
|
+
let isosceles_tests = [
|
19
19
|
"true if last two sides are equal" >::
|
20
|
-
ae true (
|
20
|
+
ae true (is_isosceles 3 4 4);
|
21
21
|
"true if first two sides are equal" >::
|
22
|
-
ae true (
|
22
|
+
ae true (is_isosceles 4 4 3);
|
23
23
|
"true if first and last sides are equal" >::
|
24
|
-
ae true (
|
24
|
+
ae true (is_isosceles 4 3 4);
|
25
25
|
"equilateral triangles are also isosceles" >::
|
26
|
-
ae true (
|
26
|
+
ae true (is_isosceles 4 4 4);
|
27
27
|
"false if no sides are equal" >::
|
28
|
-
ae false (
|
28
|
+
ae false (is_isosceles 2 3 4);
|
29
29
|
"Sides that violate triangle inequality are not isosceles, even if two are equal" >::
|
30
|
-
ae false (
|
30
|
+
ae false (is_isosceles 1 1 3);
|
31
31
|
]
|
32
32
|
|
33
33
|
let scalene_tests = [
|
@@ -44,5 +44,5 @@ let scalene_tests = [
|
|
44
44
|
let () =
|
45
45
|
run_test_tt_main (
|
46
46
|
"triangle tests" >:::
|
47
|
-
List.concat [equilateral_tests;
|
47
|
+
List.concat [equilateral_tests; isosceles_tests; scalene_tests]
|
48
48
|
)
|
@@ -11,10 +11,10 @@ let (* SUITE returns_true_if_the_triangle_is_equilateral *)equilateral_tests = [
|
|
11
11
|
END TEST *)
|
12
12
|
]
|
13
13
|
(* END SUITE *)
|
14
|
-
let (* SUITE returns_true_if_the_triangle_is_isosceles *)
|
14
|
+
let (* SUITE returns_true_if_the_triangle_is_isosceles *)isosceles_tests = [
|
15
15
|
(* TEST
|
16
16
|
"$description" >::
|
17
|
-
ae $expected (
|
17
|
+
ae $expected (is_isosceles $sides);
|
18
18
|
END TEST *)
|
19
19
|
]
|
20
20
|
(* END SUITE *)
|
@@ -29,5 +29,5 @@ let (* SUITE returns_true_if_the_triangle_is_scalene *)scalene_tests = [
|
|
29
29
|
let () =
|
30
30
|
run_test_tt_main (
|
31
31
|
"triangle tests" >:::
|
32
|
-
List.concat [equilateral_tests;
|
32
|
+
List.concat [equilateral_tests; isosceles_tests; scalene_tests]
|
33
33
|
)
|
@@ -1 +1 @@
|
|
1
|
-
unit module AllYourBase:ver<
|
1
|
+
unit module AllYourBase:ver<2>;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
unit module AllYourBase:ver<
|
1
|
+
unit module AllYourBase:ver<2>;
|
2
2
|
|
3
3
|
class X::AllYourBase::InvalidBase is Exception {
|
4
4
|
has $.payload;
|
@@ -18,7 +18,7 @@ sub convert-base (Int:D $input-base, @input-digits, Int:D $output-base --> Array
|
|
18
18
|
}
|
19
19
|
|
20
20
|
sub to-decimal ($input-base, @input-digits) {
|
21
|
-
return [] if !@input-digits;
|
21
|
+
return [].Slip if !@input-digits;
|
22
22
|
my $elems = @input-digits.elems;
|
23
23
|
for @input-digits {
|
24
24
|
if $_ == 0 { $elems-- }
|
@@ -1,15 +1,17 @@
|
|
1
1
|
#!/usr/bin/env perl6
|
2
2
|
use v6;
|
3
3
|
use Test;
|
4
|
-
use lib $?FILE.IO.dirname;
|
4
|
+
use lib my $dir = $?FILE.IO.dirname;
|
5
|
+
use JSON::Tiny;
|
5
6
|
|
6
7
|
my $exercise = 'AllYourBase';
|
7
|
-
my $version =
|
8
|
+
my $version = v2;
|
8
9
|
my $module = %*ENV<EXERCISM> ?? 'Example' !! $exercise;
|
9
10
|
plan 23;
|
10
11
|
|
11
12
|
use-ok $module or bail-out;
|
12
13
|
require ::($module);
|
14
|
+
|
13
15
|
if ::($exercise).^ver !~~ $version {
|
14
16
|
warn "\nExercise version mismatch. Further tests may fail!"
|
15
17
|
~ "\n$exercise is $(::($exercise).^ver.gist). "
|
@@ -17,147 +19,222 @@ if ::($exercise).^ver !~~ $version {
|
|
17
19
|
bail-out 'Example version must match test version.' if %*ENV<EXERCISM>;
|
18
20
|
}
|
19
21
|
|
20
|
-
|
21
|
-
BEGIN { @subs = <&convert-base> }
|
22
|
-
subtest 'Subroutine(s)', {
|
23
|
-
plan 1;
|
24
|
-
eval-lives-ok "use $module; ::('$_').defined or die '$_ is not defined.'", $_ for @subs;
|
25
|
-
} or bail-out 'All subroutines must be defined and exported.';
|
26
|
-
require ::($module) @subs.eager;
|
27
|
-
|
28
|
-
is convert-base(|.<input_base input_digits output_base>), |.<expected description> for @(my %cases.<valid>);
|
22
|
+
require ::($module) <&convert-base>;
|
29
23
|
|
30
|
-
my $
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
my $c-data;
|
25
|
+
sub test ($case, $expected) { is-deeply &::('convert-base')(|$case<input_base input_digits output_base>), $expected, $case<description> }
|
26
|
+
for @($c-data<cases>) {
|
27
|
+
when .<expected> ~~ Array { test $_, .<expected> }
|
28
|
+
when .<description> ~~ /base|digit/ { throws-like {&::('convert-base')(|.<input_base input_digits output_base>)}, Exception, .<description> }
|
29
|
+
when .<description> eq 'leading zeros' { test $_, [4,2] }
|
30
|
+
when .<description> eq 'empty list' { test $_, [] }
|
31
|
+
when .<description> ~~ /zero/ { test $_, [0] }
|
32
|
+
default { flunk .<description> } # To ensure that no canonical-data cases are missed.
|
34
33
|
}
|
35
34
|
|
35
|
+
if %*ENV<EXERCISM> && (my $c-data-file =
|
36
|
+
"$dir/../../x-common/exercises/{$dir.IO.resolve.basename}/canonical-data.json".IO.resolve) ~~ :f
|
37
|
+
{ is-deeply $c-data, from-json($c-data-file.slurp), 'canonical-data' } else { skip }
|
38
|
+
|
36
39
|
done-testing;
|
37
40
|
|
38
41
|
INIT {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
"
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
42
|
+
$c-data := from-json q:to/END/;
|
43
|
+
|
44
|
+
{
|
45
|
+
"exercise": "all-your-base",
|
46
|
+
"version": "1.0.0",
|
47
|
+
"comments": [
|
48
|
+
"It's up to each track do decide:",
|
49
|
+
"",
|
50
|
+
"1. What's the canonical representation of zero?",
|
51
|
+
" - []?",
|
52
|
+
" - [0]?",
|
53
|
+
"",
|
54
|
+
"2. What representations of zero are allowed?",
|
55
|
+
" - []?",
|
56
|
+
" - [0]?",
|
57
|
+
" - [0,0]?",
|
58
|
+
"",
|
59
|
+
"3. Are leading zeroes allowed?",
|
60
|
+
"",
|
61
|
+
"4. How should invalid input be handled?",
|
62
|
+
"",
|
63
|
+
"All the undefined cases are marked as null.",
|
64
|
+
"",
|
65
|
+
"All your numeric-base are belong to [2..]. :)"
|
66
|
+
],
|
67
|
+
"cases": [
|
68
|
+
{
|
69
|
+
"description": "single bit one to decimal",
|
70
|
+
"property": "rebase",
|
71
|
+
"input_base": 2,
|
72
|
+
"input_digits": [1],
|
73
|
+
"output_base": 10,
|
74
|
+
"expected": [1]
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"description": "binary to single decimal",
|
78
|
+
"property": "rebase",
|
79
|
+
"input_base": 2,
|
80
|
+
"input_digits": [1, 0, 1],
|
81
|
+
"output_base": 10,
|
82
|
+
"expected": [5]
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"description": "single decimal to binary",
|
86
|
+
"property": "rebase",
|
87
|
+
"input_base": 10,
|
88
|
+
"input_digits": [5],
|
89
|
+
"output_base": 2,
|
90
|
+
"expected": [1, 0, 1]
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"description": "binary to multiple decimal",
|
94
|
+
"property": "rebase",
|
95
|
+
"input_base": 2,
|
96
|
+
"input_digits": [1, 0, 1, 0, 1, 0],
|
97
|
+
"output_base": 10,
|
98
|
+
"expected": [4, 2]
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"description": "decimal to binary",
|
102
|
+
"property": "rebase",
|
103
|
+
"input_base": 10,
|
104
|
+
"input_digits": [4, 2],
|
105
|
+
"output_base": 2,
|
106
|
+
"expected": [1, 0, 1, 0, 1, 0]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"description": "trinary to hexadecimal",
|
110
|
+
"property": "rebase",
|
111
|
+
"input_base": 3,
|
112
|
+
"input_digits": [1, 1, 2, 0],
|
113
|
+
"output_base": 16,
|
114
|
+
"expected": [2, 10]
|
115
|
+
},
|
116
|
+
{
|
117
|
+
"description": "hexadecimal to trinary",
|
118
|
+
"property": "rebase",
|
119
|
+
"input_base": 16,
|
120
|
+
"input_digits": [2, 10],
|
121
|
+
"output_base": 3,
|
122
|
+
"expected": [1, 1, 2, 0]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"description": "15-bit integer",
|
126
|
+
"property": "rebase",
|
127
|
+
"input_base": 97,
|
128
|
+
"input_digits": [3, 46, 60],
|
129
|
+
"output_base": 73,
|
130
|
+
"expected": [6, 10, 45]
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"description": "empty list",
|
134
|
+
"property": "rebase",
|
135
|
+
"input_base": 2,
|
136
|
+
"input_digits": [],
|
137
|
+
"output_base": 10,
|
138
|
+
"expected": null
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"description": "single zero",
|
142
|
+
"property": "rebase",
|
143
|
+
"input_base": 10,
|
144
|
+
"input_digits": [0],
|
145
|
+
"output_base": 2,
|
146
|
+
"expected": null
|
147
|
+
},
|
148
|
+
{
|
149
|
+
"description": "multiple zeros",
|
150
|
+
"property": "rebase",
|
151
|
+
"input_base": 10,
|
152
|
+
"input_digits": [0, 0, 0],
|
153
|
+
"output_base": 2,
|
154
|
+
"expected": null
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"description": "leading zeros",
|
158
|
+
"property": "rebase",
|
159
|
+
"input_base": 7,
|
160
|
+
"input_digits": [0, 6, 0],
|
161
|
+
"output_base": 10,
|
162
|
+
"expected": null
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"description": "negative digit",
|
166
|
+
"property": "rebase",
|
167
|
+
"input_base": 2,
|
168
|
+
"input_digits": [1, -1, 1, 0, 1, 0],
|
169
|
+
"output_base": 10,
|
170
|
+
"expected": null
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"description": "invalid positive digit",
|
174
|
+
"property": "rebase",
|
175
|
+
"input_base": 2,
|
176
|
+
"input_digits": [1, 2, 1, 0, 1, 0],
|
177
|
+
"output_base": 10,
|
178
|
+
"expected": null
|
179
|
+
},
|
180
|
+
{
|
181
|
+
"description": "first base is one",
|
182
|
+
"property": "rebase",
|
183
|
+
"input_base": 1,
|
184
|
+
"input_digits": [],
|
185
|
+
"output_base": 10,
|
186
|
+
"expected": null
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"description": "second base is one",
|
190
|
+
"property": "rebase",
|
191
|
+
"input_base": 2,
|
192
|
+
"input_digits": [1, 0, 1, 0, 1, 0],
|
193
|
+
"output_base": 1,
|
194
|
+
"expected": null
|
195
|
+
},
|
196
|
+
{
|
197
|
+
"description": "first base is zero",
|
198
|
+
"property": "rebase",
|
199
|
+
"input_base": 0,
|
200
|
+
"input_digits": [],
|
201
|
+
"output_base": 10,
|
202
|
+
"expected": null
|
203
|
+
},
|
204
|
+
{
|
205
|
+
"description": "second base is zero",
|
206
|
+
"property": "rebase",
|
207
|
+
"input_base": 10,
|
208
|
+
"input_digits": [7],
|
209
|
+
"output_base": 0,
|
210
|
+
"expected": null
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"description": "first base is negative",
|
214
|
+
"property": "rebase",
|
215
|
+
"input_base": -2,
|
216
|
+
"input_digits": [1],
|
217
|
+
"output_base": 10,
|
218
|
+
"expected": null
|
219
|
+
},
|
220
|
+
{
|
221
|
+
"description": "second base is negative",
|
222
|
+
"property": "rebase",
|
223
|
+
"input_base": 2,
|
224
|
+
"input_digits": [1],
|
225
|
+
"output_base": -7,
|
226
|
+
"expected": null
|
227
|
+
},
|
228
|
+
{
|
229
|
+
"description": "both bases are negative",
|
230
|
+
"property": "rebase",
|
231
|
+
"input_base": -2,
|
232
|
+
"input_digits": [1],
|
233
|
+
"output_base": -7,
|
234
|
+
"expected": null
|
161
235
|
}
|
162
|
-
|
236
|
+
]
|
237
|
+
}
|
238
|
+
|
239
|
+
END
|
163
240
|
}
|