   @tag :pending
   test "the count of a multiple-item list is equal to its length" do
     count =
-      @languages
-      |> Enum.reduce(LL.new(), &LL.add(&2, &1))
-      |> LL.count()
+      LanguageList.new()
+      |> LanguageList.add("Elixir")
+      |> LanguageList.add("Prolog")
+      |> LanguageList.add("F#")
+      |> LanguageList.count()
 
-    assert count == length(@languages)
+    assert count == 3
   end
 
   @tag :pending
   test "an exciting language list" do
-    assert LL.exciting_list?(@languages)
+    assert LanguageList.exciting_list?(["Clojure", "Haskell", "Erlang", "F#", "Elixir"])
   end
 
   @tag :pending
   test "not an exciting language list" do
-    refute LL.exciting_list?(~w/Java C JavaScript/)
+    refute LanguageList.exciting_list?(["Java", "C", "JavaScript"])
   end
 end

defmodule LanguageListTest do
  use ExUnit.Case

  alias LanguageList, as: LL

  @languages ~w/Clojure Haskell Erlang F# Elixir/
  @languages_reversed Enum.reverse(@languages)

  # @tag :pending
  test "new list" do
    assert LL.new() == []
  end

  @tag :pending
  test "count an empty list" do
    assert LL.new() |> LL.count() == 0
  end

  @tag :pending

  @tag :pending
  test "adding two languages, when removed, removes first item" do
    list =
      LanguageList.new()
      |> LanguageList.add("F#")
      |> LanguageList.add("Elixir")
      |> LanguageList.remove()

    assert list == ["F#"]
  end

  @tag :pending
  test "first on an empty list raises an error" do
    assert_raise ArgumentError, fn -> LanguageList.new() |> LanguageList.first() end
  end

  @tag :pending
  test "add one language, then get the first" do
    assert LanguageList.new() |> LanguageList.add("Elixir") |> LanguageList.first() == "Elixir"
  end

  @tag :pending
  test "add a few languages, then get the first" do
    first =
      LanguageList.new()
      |> LanguageList.add("Elixir")
      |> LanguageList.add("Prolog")
      |> LanguageList.add("F#")
      |> LanguageList.first()

    assert first == "F#"
  end

  @tag :pending
  test "the count of a new list is 0" do
    assert LanguageList.new() |> LanguageList.count() == 0
  end

  @tag :pending
  test "the count of a one-language list is 1" do
    count =
      LanguageList.new()
      |> LanguageList.add("Elixir")
      |> LanguageList.count()

    assert count == 1
  end
