Quick actions

cmd+k|ctrl+k

Navigation

Languages

Combinatorics

Snippet info

Language

Elixir

Visibility

unlisted

Author

antimon2

Created

2015-11-03T02:48:25Z

Updated

2015-11-06T08:57:29Z

require Combinatorics

ExUnit.start()

defmodule CombinatoricsTest do
  use ExUnit.Case
  doctest Combinatorics

  test "Combinatorics.combinations(enum, 0)" do
    assert (Combinatorics.combinations(1..4, 0) |> Enum.to_list) == []
  end

  test "Combinatorics.combinations(enum, 1)" do
    assert (Combinatorics.combinations(1..4, 1) |> Enum.to_list) == [{1}, {2}, {3}, {4}]
  end

  test "Combinatorics.combinations(enum, n) when n == Enum.count(enum)" do
    assert (Combinatorics.combinations(1..4, 4) |> Enum.to_list) == [{1, 2, 3, 4}]
  end

  test "Combinatorics.combinations(enum, n) when n > Enum.count(enum)" do
    assert (Combinatorics.combinations(1..4, 5) |> Enum.to_list) == []
  end

  test "Combinatorics.permutations(range)" do
    assert (Combinatorics.permutations(3..1) |> Enum.to_list) == [{3, 2, 1}, {3, 1, 2}, {2, 3, 1}, {2, 1, 3}, {1, 3, 2}, {1, 2, 3}]
  end

  test "Combinatorics.permutations(enum, 0)" do
    assert (Combinatorics.permutations(1..4, 0) |> Enum.to_list) == []
  end

  test "Combinatorics.permutations(enum, 1)" do
    assert (Combinatorics.permutations(1..4, 1) |> Enum.to_list) == [{1}, {2}, {3}, {4}]
  end

  test "Combinatorics.permutations(enum, n) when n > Enum.count(enum)" do
    assert (Combinatorics.permutations(1..4, 5) |> Enum.to_list) == []
  end
end
INFO