Sha256: 89668fee361b6d3a2e30f906331548e3ef16eac0933210045cdf5801a2e4faac

Contents?: true

Size: 1.17 KB

Versions: 326

Compression:

Stored size: 1.17 KB

Contents

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

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

defmodule HammingTest do
  use ExUnit.Case

  test "no difference between empty strands" do
    assert Hamming.hamming_distance('', '') == {:ok, 0}
  end

  @tag :pending
  test "no difference between identical strands" do
    assert Hamming.hamming_distance('GGACTGA', 'GGACTGA') == {:ok, 0}
  end

  @tag :pending
  test "small hamming distance in middle somewhere" do
    assert Hamming.hamming_distance('GGACG', 'GGTCG') == {:ok, 1}
  end

  @tag :pending
  test "distance with same nucleotides in different locations" do
    assert Hamming.hamming_distance('TAG', 'GAT') == {:ok, 2}
  end

  @tag :pending
  test "larger distance" do
    assert Hamming.hamming_distance('ACCAGGG', 'ACTATGG') == {:ok, 2}
  end

  @tag :pending
  test "hamming distance is undefined for strands of different lengths" do
    assert {:error, "Lists must be the same length"} = Hamming.hamming_distance('AAAC', 'TAGGGGAGGCTAGCGGTAGGAC')
    assert {:error, "Lists must be the same length"} = Hamming.hamming_distance('GACTACGGACAGGACACC', 'GACATCGC')
  end
end

Version data entries

326 entries across 326 versions & 1 rubygems

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