Sha256: abfeddabdc9cc7fc539a19e3e52f3d6cc415cac48229833892b1483e4a2ca19f

Contents?: true

Size: 1.36 KB

Versions: 41

Compression:

Stored size: 1.36 KB

Contents

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

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

defmodule RunLengthEncoderTest do
  use ExUnit.Case

  test "encode empty string" do
    assert RunLengthEncoder.encode("") === ""
  end

  @tag :pending
  test "encode single characters only" do
    assert RunLengthEncoder.encode("XYZ") === "XYZ"
  end

  @tag :pending
  test "decode empty string" do
    assert RunLengthEncoder.decode("") === ""
  end

  @tag :pending
  test "decode single characters only" do
    assert RunLengthEncoder.decode("XYZ") === "XYZ"
  end

  @tag :pending
  test "encode simple" do
    assert RunLengthEncoder.encode("AABBBCCCC") == "2A3B4C"
  end

  @tag :pending
  test "decode simple" do
    assert RunLengthEncoder.decode("2A3B4C") == "AABBBCCCC"
  end

  @tag :pending
  test "encode with single values" do
    assert RunLengthEncoder.encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB") === "12WB12W3B24WB"
  end

  @tag :pending
  test "decode with single values" do
    assert RunLengthEncoder.decode("12WB12W3B24WB") === "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"
  end

  @tag :pending
  test "decode(encode(...)) combination" do
    original = "zzz ZZ  zZ"
    encoded = RunLengthEncoder.encode(original)
    assert RunLengthEncoder.decode(encoded) === original
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
trackler-2.0.8.31 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.30 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.29 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.28 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.27 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.26 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.24 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.23 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.22 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.21 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.20 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.19 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.18 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.17 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.16 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.15 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.14 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.13 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.12 tracks/elixir/exercises/run-length-encoding/rle_test.exs
trackler-2.0.8.11 tracks/elixir/exercises/run-length-encoding/rle_test.exs