prop/test/microwaveprop/rover/aggregator_test.exs

23 lines
637 B
Elixir

defmodule Microwaveprop.Rover.AggregatorTest do
use ExUnit.Case, async: true
alias Microwaveprop.Rover.Aggregator
describe "cell_margin_db/1" do
test "empty list returns nil" do
assert Aggregator.cell_margin_db([]) == nil
end
test "[10.0, 5.0, -2.0] returns 0.7*10 + 0.3*(13/3) ≈ 8.30" do
assert_in_delta Aggregator.cell_margin_db([10.0, 5.0, -2.0]), 8.30, 0.01
end
test "[nil, 5.0] ignores nil and returns 5.0" do
assert Aggregator.cell_margin_db([nil, 5.0]) == 5.0
end
test "all nils returns nil" do
assert Aggregator.cell_margin_db([nil, nil]) == nil
end
end
end