From 814d3db99594af4be732b24cc24f3fa8b3cbcf42 Mon Sep 17 00:00:00 2001 From: Jay Hayes Date: Tue, 26 Apr 2016 18:16:17 -0500 Subject: [PATCH] Refactor Tracker get/0 and summarize/0 --- lib/display.ex | 2 +- lib/tracker.ex | 6 +++--- test/tracker_test.exs | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/display.ex b/lib/display.ex index fbfa3c7..aa6f54e 100644 --- a/lib/display.ex +++ b/lib/display.ex @@ -23,7 +23,7 @@ defmodule Display do def show_failure(failure, module, name) do IO.puts("Now meditate upon #{format_module(module)}") - IO.puts(progress_bar(Tracker.get)) + IO.puts(progress_bar(Tracker.summarize)) IO.puts(bar()) IO.puts(name) IO.puts(format_failure(failure)) diff --git a/lib/tracker.ex b/lib/tracker.ex index 966ecb8..4b9e158 100644 --- a/lib/tracker.ex +++ b/lib/tracker.ex @@ -10,7 +10,6 @@ defmodule Tracker do def get do Agent.get(__MODULE__, &(&1)) - |> summarize end def completed(koan) do @@ -20,11 +19,12 @@ defmodule Tracker do end def complete? do - {total, completed} = Agent.get(__MODULE__, &(&1)) + {total, completed} = get total == Enum.count(completed) end - def summarize({total, completed}) do + def summarize, do: get |> summarize + defp summarize({total, completed}) do %{total: total, current: MapSet.size(completed)} end end diff --git a/test/tracker_test.exs b/test/tracker_test.exs index d3e2f93..0ee46f3 100644 --- a/test/tracker_test.exs +++ b/test/tracker_test.exs @@ -5,19 +5,19 @@ defmodule TrackerTest do test "can start" do Tracker.start(@sample_modules) - assert Tracker.get == %{total: 2, current: 0} + assert Tracker.summarize == %{total: 2, current: 0} end test "can be notified of completed koans" do Tracker.start(@sample_modules) Tracker.completed(:"Hi there") - assert Tracker.get == %{total: 2, current: 1} + assert Tracker.summarize == %{total: 2, current: 1} end test "multiple comletions of the same koan count only once" do Tracker.start(@sample_modules) Tracker.completed(:"Hi there") Tracker.completed(:"Hi there") - assert Tracker.get == %{total: 2, current: 1} + assert Tracker.summarize == %{total: 2, current: 1} end end