     use ExUnit.Case, async: true
 
     test "digits to words" do
-      %{
-        zero: 0, one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10,
-        eleven: 11, twelve: 12, thirteen: 13, fourteen: 14, fifteen: 15, sixteen: 16, seventeen: 17,
-        eighteen: 18, nineteen: 19
-      }
+      ~w[
+        zero one two three four five six seven eight nine ten
+        eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen
+      ]
+      |> Enum.zip(0..20)
       |>
       Enum.each(fn {word, num} ->
-        assert to_string(word) == NumbersToWords.parse(num)
+        assert word == NumbersToWords.parse(num)
       end)
     end
 


  end
end

# Numbers to Words

# Original implementation using binary matching:
# The problem with this version is it's 10 times slower than the one below it, based on some simple benchmarking.
# I've left it in for posterity/educational reasons.

# defmodule NumbersToWords do

