Source code for ramble.test.util.stats

# Copyright 2022-2025 The Ramble Authors
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.

import pytest

import ramble.util.stats


[docs] @pytest.mark.parametrize( "statistic,input_values,input_units,output", [ (ramble.util.stats.StatsMin(), [-2, 0, 2, 5.5], "s", (-2, "s", "summary::min")), (ramble.util.stats.StatsMax(), [-2, 0, 2, 5.5], "s", (5.5, "s", "summary::max")), (ramble.util.stats.StatsMean(), [-2, 0, 2, 5.5], "s", (1.4, "s", "summary::mean")), (ramble.util.stats.StatsMedian(), [-2, 0, 2, 5.5], "s", (1.0, "s", "summary::median")), (ramble.util.stats.StatsVar(), [-2, 0, 2, 5.5], "s", (10.2, "s^2", "summary::variance")), (ramble.util.stats.StatsVar(), [3], "s", ("NA", "", "summary::variance")), (ramble.util.stats.StatsStdev(), [-2, 0, 2, 5.5], "s", (3.2, "s", "summary::stdev")), (ramble.util.stats.StatsStdev(), [3], "s", ("NA", "", "summary::stdev")), (ramble.util.stats.StatsCoefficientOfVariation(), [3], "s", ("NA", "", "summary::cv")), (ramble.util.stats.StatsCoefficientOfVariation(), [3, -3], "s", ("NA", "", "summary::cv")), ( ramble.util.stats.StatsCoefficientOfVariation(), [6.79, 5.6, 4.31, 5.5], "s", (0.18, "", "summary::cv"), ), ], ) def test_stats_for_repeat_foms(statistic, input_values, input_units, output): assert statistic.report(input_values, input_units) == output