Skip to content

Commit ebd0ed6

Browse files
committed
Nova versão (ainda incompleta) do cálculo e classificação de IMC
1 parent 73cdccf commit ebd0ed6

2 files changed

Lines changed: 33 additions & 11 deletions

File tree

lib/imc.ex

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@ defmodule Imc do
33
Documentation for `Imc`.
44
"""
55

6-
@doc """
7-
Hello world.
6+
def calcula(peso, altura) do
7+
round(peso / (altura * altura) * 10) / 10
8+
end
89

9-
## Examples
10+
def classifica(peso, altura) do
11+
classifica(calcula(peso, altura))
12+
end
1013

11-
iex> Imc.hello()
12-
:world
14+
defp classifica(imc) when imc < 18.5 do
15+
"peso baixo"
16+
end
1317

14-
"""
15-
def hello do
16-
:world
18+
defp classifica(imc) when imc <= 24.9 do
19+
"peso normal"
1720
end
1821
end

test/imc_test.exs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
11
defmodule ImcTest do
22
use ExUnit.Case
3-
doctest Imc
43

5-
test "greets the world" do
6-
assert Imc.hello() == :world
4+
test "O IMC de uma pessoa com 100Kg e 1,80m é 30,9" do
5+
assert Imc.calcula(100, 1.8) == 30.9
6+
end
7+
8+
test "O IMC de uma pessoa com 120Kg e 1,60m é 46,9" do
9+
assert Imc.calcula(120, 1.6) == 46.9
10+
end
11+
12+
test "O IMC de uma pessoa com 80Kg e 1,60m é 31,2" do
13+
assert Imc.calcula(80, 1.6) == 31.2
14+
end
15+
16+
test "O IMC de uma pessoa com 40Kg e 1,60m é 15,6" do
17+
assert Imc.calcula(40, 1.6) == 15.6
18+
end
19+
20+
test "Uma pessoa com 40Kg e 1,60m tem peso baixo" do
21+
assert Imc.classifica(40, 1.6) == "peso baixo"
22+
end
23+
24+
test "Uma pessoa com 60Kg e 1,60m tem peso normal" do
25+
assert Imc.classifica(60, 1.6) == "peso normal"
726
end
827
end

0 commit comments

Comments
 (0)