From 45877a8b9cbe728e2dd66c361b3d6625810b31a0 Mon Sep 17 00:00:00 2001 From: William Carroll Date: Sat, 12 Dec 2020 02:41:42 +0000 Subject: [PATCH] Include cache hit/miss info in return type This can be useful downstream for diagnostics. --- assessments/semiprimes/server/lib/server.ex | 4 ++-- assessments/semiprimes/server/test/server_test.exs | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/assessments/semiprimes/server/lib/server.ex b/assessments/semiprimes/server/lib/server.ex index c4088fb20..7ab5e905b 100644 --- a/assessments/semiprimes/server/lib/server.ex +++ b/assessments/semiprimes/server/lib/server.ex @@ -16,11 +16,11 @@ defmodule Server do res -> Cache.put(n, res) - res + {:miss, res} end hit -> - hit + {:hit, hit} end end diff --git a/assessments/semiprimes/server/test/server_test.exs b/assessments/semiprimes/server/test/server_test.exs index f327efb33..08d559734 100644 --- a/assessments/semiprimes/server/test/server_test.exs +++ b/assessments/semiprimes/server/test/server_test.exs @@ -4,6 +4,7 @@ defmodule ServerTest do describe "semiprime" do test "returns the factors when the number is semiprime" do + Cache.clear() # Semiprimes below 30 [ {4, [2, 2]}, @@ -18,7 +19,7 @@ defmodule ServerTest do {26, [2, 13]} ] |> Enum.each(fn {input, expected} -> - assert Server.semiprime(input) == expected + assert Server.semiprime(input) == {:miss, expected} end) end