019f8fd211
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15c
git-subtree-split:24f5a642af
Change-Id: I6105b3762b79126b3488359c95978cadb3efa789
34 lines
832 B
Elixir
34 lines
832 B
Elixir
defmodule ServerTest do
|
|
use ExUnit.Case
|
|
doctest Server
|
|
|
|
describe "semiprime" do
|
|
test "returns the factors when the number is semiprime" do
|
|
Cache.clear()
|
|
# Semiprimes below 30
|
|
[
|
|
{4, [2, 2]},
|
|
{6, [2, 3]},
|
|
{9, [3, 3]},
|
|
{10, [2, 5]},
|
|
{14, [2, 7]},
|
|
{15, [3, 5]},
|
|
{21, [3, 7]},
|
|
{22, [2, 11]},
|
|
{25, [5, 5]},
|
|
{26, [2, 13]}
|
|
]
|
|
|> Enum.each(fn {input, expected} ->
|
|
assert Server.semiprime(input) == {:miss, expected}
|
|
end)
|
|
end
|
|
|
|
test "returns nothing when the number is a composite number" do
|
|
# Composite numbers below 30
|
|
[1, 2, 3, 5, 7, 8, 11, 12, 13, 16, 17, 18, 19, 20, 23, 24, 27, 28, 29]
|
|
|> Enum.each(fn x ->
|
|
assert Server.semiprime(x) == nil
|
|
end)
|
|
end
|
|
end
|
|
end
|