02-08-2019, 02:31 PM
Parce que je suis un boulet !
J'ai ajouté quelques tests :
Et j'en ai profité pour corriger l'implémentation.
J'utilise
J'ai ajouté quelques tests :
test "Resources comparision" do
assert Seelies.ResourcesQuantity.has_enough?(%{silver: 100, gold: 200}, %{silver: 100, gold: 200})
assert Seelies.ResourcesQuantity.has_enough?(%{silver: 200, gold: 200}, %{silver: 100, gold: 200})
refute Seelies.ResourcesQuantity.has_enough?(%{silver: 100, gold: 200}, %{silver: 1000, gold: 200})
end
Et j'en ai profité pour corriger l'implémentation.
def has_enough?(available_quantity, needed_quantity) do
not Enum.any?(needed_quantity, fn ({resource_type, needed_amount}) ->
available_quantity[resource_type] < needed_amount
end)
end
J'utilise
any?
plutôt que all?
pour m'arrêter dès le premier montant insuffisant.