Skip to content

Commit 7c4c4a4

Browse files
authored
add new tests (#1607)
1 parent 997488a commit 7c4c4a4

File tree

6 files changed

+72
-3
lines changed

6 files changed

+72
-3
lines changed

exercises/practice/flower-field/.meta/tests.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,6 @@ description = "cross"
4444

4545
[dd9d4ca8-9e68-4f78-a677-a2a70fd7a7b8]
4646
description = "large garden"
47+
48+
[6e4ac13a-3e43-4728-a2e3-3551d4b1a996]
49+
description = "multiple adjacent flowers"

exercises/practice/flower-field/test/flower_field_test.exs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,4 +196,12 @@ defmodule FlowerFieldTest do
196196

197197
assert FlowerField.annotate(input) == expected
198198
end
199+
200+
@tag :pending
201+
test "multiple adjacent flowers" do
202+
input = [" ** "]
203+
expected = ["1**1"]
204+
205+
assert FlowerField.annotate(input) == expected
206+
end
199207
end

exercises/practice/isbn-verifier/.meta/tests.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ description = "invalid character in isbn is not treated as zero"
3030
[28025280-2c39-4092-9719-f3234b89c627]
3131
description = "X is only valid as a check digit"
3232

33+
[8005b57f-f194-44ee-88d2-a77ac4142591]
34+
description = "only one check digit is allowed"
35+
36+
[fdb14c99-4cf8-43c5-b06d-eb1638eff343]
37+
description = "X is not substituted by the value 10"
38+
3339
[f6294e61-7e79-46b3-977b-f48789a4945b]
3440
description = "valid isbn without separating dashes"
3541

exercises/practice/isbn-verifier/test/isbn_verifier_test.exs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@ defmodule IsbnVerifierTest do
3636
refute IsbnVerifier.isbn?("3-598-2X507-9")
3737
end
3838

39+
@tag :pending
40+
test "only one check digit is allowed" do
41+
refute IsbnVerifier.isbn?("3-598-21508-96")
42+
end
43+
44+
@tag :pending
45+
test "X is not substituted by the value 10" do
46+
refute IsbnVerifier.isbn?("3-598-2X507-5")
47+
end
48+
3949
@tag :pending
4050
test "valid isbn without separating dashes" do
4151
assert IsbnVerifier.isbn?("3598215088")

exercises/practice/satellite/.meta/tests.toml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
# This is an auto-generated file. Regular comments will be removed when this
2-
# file is regenerated. Regenerating will not touch any manually added keys,
3-
# so comments can be added in a "comment" key.
1+
# This is an auto-generated file.
2+
#
3+
# Regenerating this file via `configlet sync` will:
4+
# - Recreate every `description` key/value pair
5+
# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
6+
# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
7+
# - Preserve any other key/value pair
8+
#
9+
# As user-added comments (using the # character) will be removed when this file
10+
# is regenerated, comments can be added via a `comment` key.
411

512
[8df3fa26-811a-4165-9286-ff9ac0850d19]
613
description = "Empty tree"
@@ -20,3 +27,11 @@ description = "Reject inconsistent traversals of same length"
2027
[d86a3d72-76a9-43b5-9d3a-e64cb1216035]
2128
description = "Reject traversals with repeated items"
2229

30+
[af31ae02-7e5b-4452-a990-bccb3fca9148]
31+
description = "A degenerate binary tree"
32+
33+
[ee54463d-a719-4aae-ade4-190d30ce7320]
34+
description = "Another degenerate binary tree"
35+
36+
[87123c08-c155-4486-90a4-e2f75b0f3e8f]
37+
description = "Tree with many more items"

exercises/practice/satellite/test/satellite_test.exs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,31 @@ defmodule SatelliteTest do
4848
error = {:error, "traversals must contain unique items"}
4949
assert Satellite.build_tree(preorder, inorder) == error
5050
end
51+
52+
@tag :pending
53+
test "A degenerate binary tree" do
54+
preorder = [:a, :b, :c, :d]
55+
inorder = [:d, :c, :b, :a]
56+
tree = {{{{{}, :d, {}}, :c, {}}, :b, {}}, :a, {}}
57+
assert Satellite.build_tree(preorder, inorder) == {:ok, tree}
58+
end
59+
60+
@tag :pending
61+
test "Another degenerate binary tree" do
62+
preorder = [:a, :b, :c, :d]
63+
inorder = [:a, :b, :c, :d]
64+
tree = {{}, :a, {{}, :b, {{}, :c, {{}, :d, {}}}}}
65+
assert Satellite.build_tree(preorder, inorder) == {:ok, tree}
66+
end
67+
68+
@tag :pending
69+
test "Tree with many more items" do
70+
preorder = [:a, :b, :d, :g, :h, :c, :e, :f, :i]
71+
inorder = [:g, :d, :h, :b, :a, :e, :c, :i, :f]
72+
73+
tree =
74+
{{{{{}, :g, {}}, :d, {{}, :h, {}}}, :b, {}}, :a, {{{}, :e, {}}, :c, {{{}, :i, {}}, :f, {}}}}
75+
76+
assert Satellite.build_tree(preorder, inorder) == {:ok, tree}
77+
end
5178
end

0 commit comments

Comments
 (0)