import ExUnit.Assertionsassert Enum.count([1, 2, 3]) == ___assert length([1, 2, 3]) == ___assert Enum.count([1, 2, 3], &(&1 == 2)) == ___map = %{a: :foo, b: :bar}assert Enum.count(map) == ___assert_raise ___, fn -> length(map) enddef less_than_five?(n), do: n < 5assert Enum.all?([1, 2, 3], &less_than_five?/1) == ___assert Enum.all?([4, 6, 8], &less_than_five?/1) == ___def even?(n), do: rem(n, 2) == 0assert Enum.any?([1, 2, 3], &even?/1) == ___assert Enum.any?([1, 3, 5], &even?/1) == ___input = [1, 2, 3]assert Enum.member?(input, 1) == ___assert Enum.member?(input, 30) == ___def multiply_by_ten(n), do: 10 * nassert Enum.map([1, 2, 3], &multiply_by_ten/1) == ___def odd?(n), do: rem(n, 2) == 1assert Enum.filter([1, 2, 3], &odd?/1) == ___assert Enum.reject([1, 2, 3], &odd?/1) == ___assert Enum.take([1, 2, 3, 4, 5], 3) == ___assert Enum.take([1, 2, 3, 4, 5], 10) == ___assert Enum.drop([-1, 0, 1, 2, 3], 2) == ___letters = [:a, :b, :c]
numbers = [1, 2, 3]assert Enum.zip(letters, numbers) == ___assert Enum.find([1, 2, 3, 4], &even?/1) == ___def divisible_by_five?(n), do: rem(n, 5) == 0assert Enum.find([1, 2, 3], &divisible_by_five?/1) == ___assert Enum.find([1, 2, 3], :no_such_element, &divisible_by_five?/1) == ___assert Enum.reduce([1, 2, 3], 0, fn element, accumulator -> element + accumulator end) == ___assert Enum.chunk_every([1, 2, 3, 4, 5, 6], 2) == ___assert Enum.chunk_every([1, 2, 3, 4, 5], 3) == ___result =
[1, 2, 3]
|> Enum.flat_map(&[&1, &1 * 10])assert result == ___words = ["apple", "banana", "cherry", "apricot", "blueberry"]
grouped = Enum.group_by(words, &String.first/1)assert grouped["a"] == ___assert grouped["b"] == ___Streams are lazy - they don't execute until you call Enum on them
stream =
1..1_000_000
|> Stream.filter(&even?/1)
|> Stream.map(&(&1 * 2))
|> Stream.take(3)Nothing has been computed yet!
result = Enum.to_list(stream)assert result == ___