series
This commit is contained in:
70
elixir/series/test/string_series_test.exs
Normal file
70
elixir/series/test/string_series_test.exs
Normal file
@@ -0,0 +1,70 @@
|
||||
defmodule StringSeriesTest do
|
||||
use ExUnit.Case
|
||||
|
||||
test "slices of size 1 from one" do
|
||||
assert StringSeries.slices("1", 1) == ["1"]
|
||||
end
|
||||
|
||||
test "slices of size 1 from two" do
|
||||
assert StringSeries.slices("12", 1) == ["1", "2"]
|
||||
end
|
||||
|
||||
test "slices of size 1 from more" do
|
||||
assert StringSeries.slices("01234", 1) == ["0", "1", "2", "3", "4"]
|
||||
end
|
||||
|
||||
test "slices of size 2" do
|
||||
assert StringSeries.slices("35", 2) == ["35"]
|
||||
end
|
||||
|
||||
test "slices of size 2 overlap" do
|
||||
assert StringSeries.slices("9142", 2) == ["91", "14", "42"]
|
||||
end
|
||||
|
||||
test "slices of size 2 from more" do
|
||||
assert StringSeries.slices("01234", 2) == ["01", "12", "23", "34"]
|
||||
end
|
||||
|
||||
test "slices of size 3" do
|
||||
assert StringSeries.slices("01234", 3) == ["012", "123", "234"]
|
||||
end
|
||||
|
||||
test "slices of size 4" do
|
||||
assert StringSeries.slices("01234", 4) == ["0123", "1234"]
|
||||
end
|
||||
|
||||
test "slices include duplicates" do
|
||||
assert StringSeries.slices("777777", 3) == ["777", "777", "777", "777"]
|
||||
end
|
||||
|
||||
test "slices of a long series" do
|
||||
assert StringSeries.slices("918493904243", 5) == [
|
||||
"91849",
|
||||
"18493",
|
||||
"84939",
|
||||
"49390",
|
||||
"93904",
|
||||
"39042",
|
||||
"90424",
|
||||
"04243"
|
||||
]
|
||||
end
|
||||
|
||||
test "slices same size as string" do
|
||||
assert StringSeries.slices("01234", 5) == ["01234"]
|
||||
end
|
||||
|
||||
test "Unicode characters count as a single character" do
|
||||
assert StringSeries.slices("José", 1) == ["J", "o", "s", "é"]
|
||||
assert StringSeries.slices("José", 2) == ["Jo", "os", "sé"]
|
||||
end
|
||||
|
||||
test "slices with size longer than string return empty list" do
|
||||
assert StringSeries.slices("01234", 6) == []
|
||||
end
|
||||
|
||||
test "slices with size zero or negative return empty list" do
|
||||
assert StringSeries.slices("01234", -1) == []
|
||||
assert StringSeries.slices("01234", 0) == []
|
||||
end
|
||||
end
|
||||
2
elixir/series/test/test_helper.exs
Normal file
2
elixir/series/test/test_helper.exs
Normal file
@@ -0,0 +1,2 @@
|
||||
ExUnit.start()
|
||||
ExUnit.configure(exclude: :pending, trace: true)
|
||||
Reference in New Issue
Block a user