36 lines
870 B
Elixir
36 lines
870 B
Elixir
defmodule Tuples do
|
|
use Koans
|
|
|
|
koan "tuples have a size" do
|
|
assert tuple_size({:a, :b, :c}) == :__
|
|
end
|
|
|
|
koan "tuples can contain different things" do
|
|
assert {:a, 1, "hi"} == :__
|
|
end
|
|
|
|
koan "you can pull out individual elements" do
|
|
assert elem({:a, "hi"}, 1) == :__
|
|
end
|
|
|
|
koan "you can change individual elements of a tuple" do
|
|
assert put_elem({:a, "hi"}, 1, "bye") == :__
|
|
end
|
|
|
|
koan "you can also simply extend a tuple with new stuff" do
|
|
assert Tuple.insert_at({:a, "hi"}, 1, :new_thing) == :__
|
|
end
|
|
|
|
koan "add things at the end" do
|
|
assert Tuple.append({"Huey", "Dewey"}, "Louie") == :__
|
|
end
|
|
|
|
koan "or also remove them" do
|
|
assert Tuple.delete_at({:this, :is, :not, :awesome}, 2) == :__
|
|
end
|
|
|
|
koan "turn it into a list in case you need it" do
|
|
assert Tuple.to_list({:this, :can, :be, :a, :list}) == :__
|
|
end
|
|
end
|