Skip to content

Commit 9db4420

Browse files
committed
remove test helper functions from spec-generators, batch 3
1 parent dbfa4c7 commit 9db4420

31 files changed

Lines changed: 129 additions & 208 deletions

File tree

bin/generate-spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ included_tests_from_toml = (path) ->
5151
export indent, quote, is_json_null, is_empty, contains
5252

5353
indent = (text, level) ->
54-
assert level, 'Provide the level to `indent`'
54+
error 'Provide a level for `indent`', 2 if not level
5555
string.rep(' ', level) .. text
5656

5757
quote = (str) ->

exercises/practice/palindrome-products/.meta/spec_generator.moon

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
int_list = (list) -> "{#{table.concat list, ', '}}"
2-
3-
int_lists = (lists) ->
4-
"{#{table.concat [int_list list for list in *lists], ', '}}"
1+
import int_list, int_lists from require 'test_helpers'
52

63
value = (val) ->
74
if is_json_null val
@@ -23,7 +20,7 @@ value = (val) ->
2320
lines = {
2421
"palindrome, factors = PalindromeProducts.#{case.property} #{case.input.min}, #{case.input.max}",
2522
"expected_palindrome = #{value case.expected.value}",
26-
"expected_factors = #{int_lists case.expected.factors}",
23+
"expected_factors = #{int_lists case.expected.factors, level}",
2724
"assert.are.equal expected_palindrome, palindrome",
2825
"assert.are.same expected_factors, factors",
2926
}

exercises/practice/palindrome-products/palindrome_products_spec.moon

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ describe 'palindrome-products', ->
1111
pending 'find the largest palindrome from single digit factors', ->
1212
palindrome, factors = PalindromeProducts.largest 1, 9
1313
expected_palindrome = 9
14-
expected_factors = {{1, 9}, {3, 3}}
14+
expected_factors = {
15+
{1, 9},
16+
{3, 3},
17+
}
1518
assert.are.equal expected_palindrome, palindrome
1619
assert.are.same expected_factors, factors
1720

exercises/practice/rational-numbers/.meta/spec_generator.moon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
int_list = (list) -> "{#{table.concat list, ', '}}"
1+
import int_list from require 'test_helpers'
22

33
{
44
module_name: 'rational',

exercises/practice/resistor-color-duo/.meta/spec_generator.moon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
input = ["'#{color}'" for color in *case.input.colors]
55
lines = {
66
"result = ResistorColorDuo.value #{table.concat input, ', '}",
7-
"assert.are.same #{case.expected}, result"
7+
"assert.are.equal #{case.expected}, result"
88
}
99
table.concat [indent line, level for line in *lines], '\n'
1010
}

exercises/practice/resistor-color-duo/resistor_color_duo_spec.moon

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@ ResistorColorDuo = require 'resistor_color_duo'
33
describe 'resistor-color-duo', ->
44
it 'Brown and black', ->
55
result = ResistorColorDuo.value 'brown', 'black'
6-
assert.are.same 10, result
6+
assert.are.equal 10, result
77

88
pending 'Blue and grey', ->
99
result = ResistorColorDuo.value 'blue', 'grey'
10-
assert.are.same 68, result
10+
assert.are.equal 68, result
1111

1212
pending 'Yellow and violet', ->
1313
result = ResistorColorDuo.value 'yellow', 'violet'
14-
assert.are.same 47, result
14+
assert.are.equal 47, result
1515

1616
pending 'White and red', ->
1717
result = ResistorColorDuo.value 'white', 'red'
18-
assert.are.same 92, result
18+
assert.are.equal 92, result
1919

2020
pending 'Orange and orange', ->
2121
result = ResistorColorDuo.value 'orange', 'orange'
22-
assert.are.same 33, result
22+
assert.are.equal 33, result
2323

2424
pending 'Ignore additional colors', ->
2525
result = ResistorColorDuo.value 'green', 'brown', 'orange'
26-
assert.are.same 51, result
26+
assert.are.equal 51, result
2727

2828
pending 'Black and brown, one-digit', ->
2929
result = ResistorColorDuo.value 'black', 'brown'
30-
assert.are.same 1, result
30+
assert.are.equal 1, result

exercises/practice/rest-api/.meta/spec_generator.moon

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
test_helpers = require 'test_helpers'
2-
import table_dump from test_helpers
1+
import table_dump from require 'test_helpers'
32

43
{
54
module_name: 'RestApi',

exercises/practice/reverse-string/.meta/spec_generator.moon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
module_name: 'reverse',
33
generate_test: (case, level) ->
44
lines = {
5-
"result = reverse \"#{case.input.value}\"",
6-
"assert.are.same \"#{case.expected}\", result",
5+
"result = reverse #{quote case.input.value}",
6+
"assert.are.equal #{quote case.expected}, result",
77
}
88
table.concat [indent line, level for line in *lines], "\n"
99
}

exercises/practice/reverse-string/reverse_string_spec.moon

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,29 @@ reverse = require 'reverse_string'
22

33
describe 'reverse-string', ->
44
it 'an empty string', ->
5-
result = reverse ""
6-
assert.are.same "", result
5+
result = reverse ''
6+
assert.are.equal '', result
77

88
pending 'a word', ->
9-
result = reverse "robot"
10-
assert.are.same "tobor", result
9+
result = reverse 'robot'
10+
assert.are.equal 'tobor', result
1111

1212
pending 'a capitalized word', ->
13-
result = reverse "Ramen"
14-
assert.are.same "nemaR", result
13+
result = reverse 'Ramen'
14+
assert.are.equal 'nemaR', result
1515

1616
pending 'a sentence with punctuation', ->
1717
result = reverse "I'm hungry!"
18-
assert.are.same "!yrgnuh m'I", result
18+
assert.are.equal "!yrgnuh m'I", result
1919

2020
pending 'a palindrome', ->
21-
result = reverse "racecar"
22-
assert.are.same "racecar", result
21+
result = reverse 'racecar'
22+
assert.are.equal 'racecar', result
2323

2424
pending 'an even-sized word', ->
25-
result = reverse "drawer"
26-
assert.are.same "reward", result
25+
result = reverse 'drawer'
26+
assert.are.equal 'reward', result
2727

2828
pending 'wide characters', ->
29-
result = reverse "子猫"
30-
assert.are.same "猫子", result
29+
result = reverse '子猫'
30+
assert.are.equal '猫子', result

exercises/practice/saddle-points/.meta/spec_generator.moon

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
1-
int_list = (list) -> "{#{table.concat list, ', '}}"
2-
3-
int_lists = (lists, level) ->
4-
if #lists == 1
5-
"{#{int_list lists[1]}}"
6-
else
7-
rows = [indent int_list(row) .. ',', level + 1 for row in *lists]
8-
table.insert rows, 1, '{'
9-
table.insert rows, indent '}', level
10-
table.concat rows, '\n'
1+
import int_lists, table_tostring_ordered from require 'test_helpers'
112

123
result_obj = (obj) -> "{row: #{obj.row}, column: #{obj.column}}"
134
result_list = (list) -> "{#{table.concat [result_obj obj for obj in *list], ', '}}"

0 commit comments

Comments
 (0)