Current section
Files
Jump to
Current section
Files
test/cpf_test.exs
defmodule CpfTest do
use ExUnit.Case
test "should be invalid with malformed number" do
cpfs = ~w{345.65.67.3 567.765-87698 345456-654-01 123456}
Enum.each(cpfs, fn cpf ->
assert Brcpfcnpj.cpf_valid?(%Cpf{number: cpf}) == false
end)
end
test "should be invalid with invalid number" do
cpfs = ~w{23342345699 34.543.567-98 456.676456-87 333333333-33 00000000000 000.000.000-00}
Enum.each(cpfs, fn cpf ->
assert Brcpfcnpj.cpf_valid?(%Cpf{number: cpf}) == false
end)
end
test "should be valid with correct number" do
cpfs = ~w{111.444.777-35 11144477735 111.444777-35 111444.777-35 111.444.77735}
Enum.each(cpfs, fn cpf ->
assert Brcpfcnpj.cpf_valid?(%Cpf{number: cpf}) == true
end)
end
test "should be invalid with a number longer than 11 chars, even if the first 11 char represent a valid cpf number" do
cpfs = ~w{111.444.777-3500 11144477735AB}
Enum.each(cpfs, fn cpf ->
assert Brcpfcnpj.cpf_valid?(%Cpf{number: cpf}) == false
end)
end
test "should be invalid with nil input" do
assert Brcpfcnpj.cpf_valid?(%Cpf{number: nil}) == false
end
end