Sha256: f26c1954561686a3e99ce768ad3d5c9832a4a51472c4dec43252e25e6c4ef898

Contents?: true

Size: 1.56 KB

Versions: 63

Compression:

Stored size: 1.56 KB

Contents

if !System.get_env("EXERCISM_TEST_EXAMPLES") do
  Code.load_file("luhn.exs", __DIR__)
end

ExUnit.start
ExUnit.configure exclude: :pending, trace: true

defmodule LuhnTest do
  use ExUnit.Case

  test "single digit strings can not be valid" do
    refute Luhn.valid?("1")
  end

  @tag :pending
  test "A single zero is invalid" do
    refute Luhn.valid?("0")
  end

  @tag :pending
  test "a simple valid SIN that remains valid if reversed" do
    assert Luhn.valid?("059")
  end

  @tag :pending
  test "a simple valid SIN that becomes invalid if reversed" do
    assert Luhn.valid?("59")
  end

  @tag :pending
  test "a valid Canadian SIN" do
    assert Luhn.valid?("055 444 285")
  end

  @tag :pending
  test "invalid Canadian SIN" do
    refute Luhn.valid?("055 444 286")
  end

  @tag :pending
  test "invalid credit card" do
    refute Luhn.valid?("8273 1232 7352 0569")
  end

  @tag :pending
  test "valid strings with a non-digit included become invalid" do
    refute Luhn.valid?("055a 444 285")
  end

  @tag :pending
  test "valid strings with punctuation included become invalid" do
    refute Luhn.valid?("055-444-285")
  end

  @tag :pending
  test "valid strings with symbols included become invalid" do
    refute Luhn.valid?("055£ 444$ 285")
  end

  @tag :pending
  test "single zero with space is invalid" do
    refute Luhn.valid?(" 0")
  end

  @tag :pending
  test "more than a single zero is valid" do
    assert Luhn.valid?("0000 0")
  end

  @tag :pending
  test "input digit 9 is correctly converted to output digit 9" do
    assert Luhn.valid?("091")
  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
trackler-2.2.1.109 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.108 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.107 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.106 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.105 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.104 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.103 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.102 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.101 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.100 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.99 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.98 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.97 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.96 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.95 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.94 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.93 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.92 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.91 tracks/elixir/exercises/luhn/luhn_test.exs
trackler-2.2.1.90 tracks/elixir/exercises/luhn/luhn_test.exs