if
Last updated
mix test test/person_test.exs
warning: Person.is_adult?/1 is undefined or private
test/person_test.exs:6: PersonTest."test Person is an adult"/1
1) test Person is an adult (PersonTest)
test/person_test.exs:4
** (UndefinedFunctionError) function Person.is_adult?/1 is undefined or private
code: result = Person.is_adult?(person)
stacktrace:
(hello_world 0.1.0) Person.is_adult?(%{age: 30, name: "Iago"})
test/person_test.exs:6: (test)
Finished in 0.02 seconds (0.00s async, 0.02s sync)
1 test, 1 failuredefmodule Person do
def is_adult(_person) do
true
end
endmix test test/person_test.exs
Compiling 1 file (.ex)
.
Finished in 0.01 seconds (0.00s async, 0.01s sync)
1 test, 0 failuresdefmodule PersonTest do
use ExUnit.Case
describe "is_adult/1" do
# ...
test "Person isn't an adult" do
person = %{name: "Edgar", age: 2}
result = Person.is_adult?(person)
assert result == false
end
end
endmix test test/person_test.exs
.
1) test is_adult/1 Person isn't an adult (PersonTest)
test/person_test.exs:12
Assertion with == failed
code: assert result == false
left: true
right: false
stacktrace:
test/person_test.exs:16: (test)
Finished in 0.02 seconds (0.00s async, 0.02s sync)
2 tests, 1 failure# Normal
if true do
# contexto caso expressão do if for verdadeiro
else
# contexto caso expressão do if nao for verdadeiro
end
# Encurtado
if(5 > 1, do: true, else: false)if(5 > 1, do: true, else: false) # true
if(5 < 1, do: true, else: false) # false
if(1 >= 1, do: true, else: false) # true
if(0 <= 1, do: true, else: false) # true
if(5 == 5, do: true, else: false) # true
if(2 === 5, do: true, else: false) # true
if(2.0 === 2.0, do: true, else: false) # false
if(5 != 5, do: true, else: false) # falsedefmodule Person do
def is_adult?(person) do
if person.age >= 18 do
true
else
false
end
end
endmix test test/person_test.exs
Compiling 1 file (.ex)
..
Finished in 0.01 seconds (0.00s async, 0.01s sync)
2 tests, 0 failuresdefmodule Person do
def is_adult?(person) do
if person.age >= 18, do: true, else: false
end
endmix test test/person_test.exs
Compiling 1 file (.ex)
..
Finished in 0.01 seconds (0.00s async, 0.01s sync)
2 tests, 0 failures