Packages

Generate a random string based on a given string pattern.

Current section

Files

Jump to
random_string_generator test random_string_generator_test.exs
Raw

test/random_string_generator_test.exs

defmodule RandomStringGeneratorTest do
use ExUnit.Case
doctest RandomStringGenerator
test "generate a random string with the right size" do
assert String.length(RandomStringGenerator.generate("Cccdp")) == 5
end
test "generate a random lower case character" do
str = RandomStringGenerator.generate("l")
assert Regex.match?(~r/[a-z]/, str) == true
end
test "generate a random upper case character" do
str = RandomStringGenerator.generate("L")
assert Regex.match?(~r/[A-Z]/, str) == true
end
test "generate a random digit" do
str = RandomStringGenerator.generate("d")
assert Regex.match?(~r/[0-9]/, str) == true
end
test "generate a random punctuation" do
str = RandomStringGenerator.generate("p")
assert Regex.match?(~r/[\p{P}\p{S}]/, str) == true
end
test "generate a custom char" do
custom_list = ["+", "-", "/", "*"]
char = RandomStringGenerator.generate("c", custom_list)
assert Enum.member?(custom_list, char) == true
end
test "accept any delimiter" do
str = RandomStringGenerator.generate("d-")
assert Regex.match?(~r/[0-9]-/, str) == true
end
test "accept utf8 delimiter" do
assert RandomStringGenerator.generate("ááàã") == "ááàã"
end
test "accept scape character" do
str = RandomStringGenerator.generate("\\d-")
assert Regex.match?(~r/d-/, str) == true
end
end