Further simplify mapset example with sorted?/1 function

This commit is contained in:
Jay Hayes
2017-02-19 07:37:57 -06:00
parent 5731f8ac3b
commit 4a9800f1f7
2 changed files with 16 additions and 11 deletions

View File

@@ -15,17 +15,22 @@ defmodule MapSets do
assert MapSet.size(new_set) == ___
end
koan "You cannot depend on my order" do
set = MapSet.new(1..33)
list = Enum.to_list(1..33)
set_list = MapSet.to_list(set)
assert (list == set_list) == ___
assert (list == Enum.sort(set_list)) == ___
def sorted?(set) do
sorted = MapSet.to_list(set) |> Enum.sort
set == sorted
end
koan "You cannot depend on my order" do
new_set = MapSet.new(1..33)
assert sorted?(new_set) == ___
# Note: The number "33" is actually special here. Erlang uses a different
# implementation for maps after 32 elements which does not maintain order.
# http://stackoverflow.com/a/40408469
# What do you think this answer to this assertion is?
# assert sorted?(@set) == ___
end
# Note: The number "33" is actually special here. Erlang uses a different
# implementation for maps after 32 elements which does not maintain order.
# http://stackoverflow.com/a/40408469
koan "Does this value exist in the map set?" do
assert MapSet.member?(@set, 3) == ___

View File

@@ -6,7 +6,7 @@ defmodule MapSetsTest do
answers = [
1,
3,
{:multiple, [false, true]},
false,
true,
{:multiple, [true, false]},
true,