Sha256: 0019df2499494436d6548e4758c832838c4eaa6015007e65a8784033e9464cf0

Contents?: true

Size: 1.9 KB

Versions: 119

Compression:

Stored size: 1.9 KB

Contents

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

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

defmodule DominoesTest do
  use ExUnit.Case

  test "empty input = empty output" do
    assert Dominoes.chain?([]) == true
  end

  @tag :pending
  test "singleton input = singleton output" do
    assert Dominoes.chain?([{1, 1}]) == true
  end

  @tag :pending
  test "singleton that can't be chained" do
    assert Dominoes.chain?([{1, 2}]) == false
  end

  @tag :pending
  test "three elements" do
    assert Dominoes.chain?([{1, 2}, {3, 1}, {2, 3}]) == true
  end

  @tag :pending
  test "can reverse dominoes" do
    assert Dominoes.chain?([{1, 2}, {1, 3}, {2, 3}]) == true
  end

  @tag :pending
  test "can't be chained" do
    assert Dominoes.chain?([{1, 2}, {4, 1}, {2, 3}]) == false
  end

  @tag :pending
  test "disconnected - double loop" do
    assert Dominoes.chain?([{1, 2}, {2, 1}, {3, 4}, {4, 3}]) == false
  end

  @tag :pending
  test "disconnected - single isolated" do
    assert Dominoes.chain?([{1, 2}, {2, 3}, {3, 1}, {4, 4}]) == false
  end

  @tag :pending
  test "need backtrack" do
    assert Dominoes.chain?([{1, 2}, {2, 3}, {3, 1}, {2, 4}, {2, 4}]) == true # a variation in which we have to turn but no duplicates
  end

  @tag :pending
  test "separate loops" do
    assert Dominoes.chain?([{1, 2}, {2, 3}, {3, 1}, {1, 1}, {2, 2}, {3, 3}]) == true
  end

  @tag :pending
  test "nine elements" do
    assert Dominoes.chain?([{1, 2}, {5, 3}, {3, 1}, {1, 2}, {2, 4}, {1, 6}, {2, 3}, {3, 4}, {5, 6}]) == true
 end


  @tag :pending
  test "disconnected - simple" do
    refute Dominoes.chain?([{1, 1}, {2, 2}])
  end

  @tag :pending
  test "first and last not matching" do
    assert Dominoes.chain?([{1, 2}, {2, 3}, {3, 4}]) == false
  end

  @tag :pending
  test "wrong starting order" do
    assert Dominoes.chain?([{2, 1}, {2, 3}, {3, 1}]) == true
  end
end

Version data entries

119 entries across 119 versions & 1 rubygems

Version Path
trackler-2.2.1.29 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.28 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.27 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.26 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.25 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.24 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.23 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.22 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.21 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.20 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.19 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.18 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.17 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.16 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.15 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.14 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.13 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.12 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.11 tracks/elixir/exercises/dominoes/dominoes_test.exs
trackler-2.2.1.10 tracks/elixir/exercises/dominoes/dominoes_test.exs