Sha256: afdb3d9d4ef301e035db8946accaa94a88abfe59d442aaad60020bf42af9eda7

Contents?: true

Size: 1.21 KB

Versions: 69

Compression:

Stored size: 1.21 KB

Contents

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

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

defmodule CollatzConjectureTest do
  use ExUnit.Case

  test "zero steps for one" do
    assert CollatzConjecture.calc(1) == 0
  end

  @tag :pending
  test "zero is an error" do
    assert_raise FunctionClauseError, fn -> CollatzConjecture.calc(0) end
  end

  @tag :pending
  test "divide if even" do
    assert CollatzConjecture.calc(16) == 4
  end

  @tag :pending
  test "even and odd steps" do
    assert CollatzConjecture.calc(12) == 9
  end

  @tag :pending
  test "Large number of even and odd steps" do
    assert CollatzConjecture.calc(1_000_000) == 152
  end

  @tag :pending
  test "start with odd step" do
    assert CollatzConjecture.calc(21) == 7
  end

  @tag :pending
  test "more steps than starting number" do
    assert CollatzConjecture.calc(7) == 16
  end

  @tag :pending
  test "negative value is an error " do
    assert_raise FunctionClauseError, fn -> CollatzConjecture.calc(-15) end
  end

  @tag :pending
  test "string as input value is an error " do
    assert_raise FunctionClauseError, fn -> CollatzConjecture.calc("fubar") end
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.179 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.178 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.177 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.176 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.175 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.174 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.173 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.172 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.171 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.170 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.169 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.167 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.166 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.165 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.164 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.163 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.162 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.161 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs
trackler-2.2.1.160 tracks/elixir/exercises/collatz-conjecture/collatz_conjecture_test.exs