Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
stat_utils_test.cc File Reference

Comprehensive tests for stat_utils.H. More...

#include <gtest/gtest.h>
#include <vector>
#include <array>
#include <list>
#include <cmath>
#include <stat_utils.H>
Include dependency graph for stat_utils_test.cc:

Go to the source code of this file.

Functions

 TEST (SumTest, EmptyVector)
 
 TEST (SumTest, SingleElement)
 
 TEST (SumTest, MultipleElements)
 
 TEST (SumTest, NegativeNumbers)
 
 TEST (SumTest, IntegerVector)
 
 TEST (MeanTest, EmptyContainerThrows)
 
 TEST (MeanTest, SingleElement)
 
 TEST (MeanTest, MultipleElements)
 
 TEST (MeanTest, NegativeNumbers)
 
 TEST (MeanTest, WithList)
 
 TEST (VarianceTest, EmptyContainerThrows)
 
 TEST (VarianceTest, SingleElementThrows)
 
 TEST (VarianceTest, SingleElementPopulation)
 
 TEST (VarianceTest, TwoElements)
 
 TEST (VarianceTest, SampleVsPopulation)
 
 TEST (VarianceTest, ConstantValues)
 
 TEST (VarianceTest, NumericalStability)
 
 TEST (StddevTest, Basic)
 
 TEST (StddevTest, IsSquareRootOfVariance)
 
 TEST (MinMaxTest, EmptyContainerThrows)
 
 TEST (MinMaxTest, SingleElement)
 
 TEST (MinMaxTest, MultipleElements)
 
 TEST (MinMaxTest, NegativeNumbers)
 
 TEST (PercentileTest, EmptyContainerThrows)
 
 TEST (PercentileTest, OutOfRangeThrows)
 
 TEST (PercentileTest, Percentile0)
 
 TEST (PercentileTest, Percentile100)
 
 TEST (PercentileTest, Percentile50IsMedian)
 
 TEST (PercentileTest, UnsortedInput)
 
 TEST (MedianTest, EmptyContainerThrows)
 
 TEST (MedianTest, SingleElement)
 
 TEST (MedianTest, OddCount)
 
 TEST (MedianTest, EvenCount)
 
 TEST (MedianTest, UnsortedData)
 
 TEST (QuartilesTest, Basic)
 
 TEST (IqrTest, Basic)
 
 TEST (ModeTest, EmptyContainerThrows)
 
 TEST (ModeTest, SingleElement)
 
 TEST (ModeTest, AllDifferent)
 
 TEST (ModeTest, ClearMode)
 
 TEST (ModeTest, Multimodal)
 
 TEST (ModeTest, NotMultimodal)
 
 TEST (SkewnessTest, TooFewElementsThrows)
 
 TEST (SkewnessTest, SymmetricDistribution)
 
 TEST (SkewnessTest, RightSkewed)
 
 TEST (SkewnessTest, LeftSkewed)
 
 TEST (SkewnessTest, ConstantValues)
 
 TEST (KurtosisTest, TooFewElementsThrows)
 
 TEST (KurtosisTest, UniformDistribution)
 
 TEST (KurtosisTest, ConstantValues)
 
 TEST (CoefficientOfVariationTest, ZeroMeanThrows)
 
 TEST (CoefficientOfVariationTest, Basic)
 
 TEST (CoefficientOfVariationTest, PositiveValue)
 
 TEST (CovarianceTest, DifferentSizesThrows)
 
 TEST (CovarianceTest, TooFewElementsThrows)
 
 TEST (CovarianceTest, PerfectPositive)
 
 TEST (CovarianceTest, PerfectNegative)
 
 TEST (CovarianceTest, NoCorrelation)
 
 TEST (CorrelationTest, PerfectPositive)
 
 TEST (CorrelationTest, PerfectNegative)
 
 TEST (CorrelationTest, ZeroVarianceThrows)
 
 TEST (CorrelationTest, PartialCorrelation)
 
 TEST (HistogramTest, ZeroBinsThrows)
 
 TEST (HistogramTest, EmptyContainerThrows)
 
 TEST (HistogramTest, SingleBin)
 
 TEST (HistogramTest, MultipleBins)
 
 TEST (HistogramTest, ConstantValues)
 
 TEST (StatsTest, DefaultConstruction)
 
 TEST (StatsTest, RangeMethod)
 
 TEST (ComputeAllStatsTest, EmptyContainer)
 
 TEST (ComputeAllStatsTest, SingleElement)
 
 TEST (ComputeAllStatsTest, MultipleElements)
 
 TEST (ComputeAllStatsTest, QuartilesComputed)
 
 TEST (ComputeAllStatsTest, HigherMomentsComputed)
 
 TEST (LegacyComputeStatsTest, ArrayVersion)
 
 TEST (LegacyComputeStatsTest, ArrayWithOffset)
 
 TEST (LegacyComputeStatsTest, ContainerVersion)
 
 TEST (LegacyComputeStatsTest, EvenCount)
 
 TEST (LegacyComputeStatsTest, EmptyRange)
 
 TEST (EdgeCaseTest, VeryLargeNumbers)
 
 TEST (EdgeCaseTest, VerySmallNumbers)
 
 TEST (EdgeCaseTest, MixedSigns)
 
 TEST (ContainerTest, WorksWithArray)
 
 TEST (ContainerTest, WorksWithList)
 
 TEST (ContainerTest, WorksWithDynArray)
 
 TEST (TypeTest, WorksWithInt)
 
 TEST (TypeTest, WorksWithFloat)
 
int main (int argc, char **argv)
 

Detailed Description

Comprehensive tests for stat_utils.H.

Definition in file stat_utils_test.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 793 of file stat_utils_test.cc.

References Aleph::maps().

◆ TEST() [1/87]

TEST ( CoefficientOfVariationTest  ,
Basic   
)

Definition at line 430 of file stat_utils_test.cc.

References Aleph::coefficient_of_variation(), and Aleph::maps().

◆ TEST() [2/87]

TEST ( CoefficientOfVariationTest  ,
PositiveValue   
)

Definition at line 436 of file stat_utils_test.cc.

References Aleph::coefficient_of_variation(), and Aleph::maps().

◆ TEST() [3/87]

TEST ( CoefficientOfVariationTest  ,
ZeroMeanThrows   
)

Definition at line 424 of file stat_utils_test.cc.

References Aleph::coefficient_of_variation(), and Aleph::maps().

◆ TEST() [4/87]

TEST ( ComputeAllStatsTest  ,
EmptyContainer   
)

Definition at line 584 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [5/87]

TEST ( ComputeAllStatsTest  ,
HigherMomentsComputed   
)

Definition at line 631 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [6/87]

TEST ( ComputeAllStatsTest  ,
MultipleElements   
)

Definition at line 605 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [7/87]

TEST ( ComputeAllStatsTest  ,
QuartilesComputed   
)

Definition at line 621 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [8/87]

TEST ( ComputeAllStatsTest  ,
SingleElement   
)

Definition at line 592 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [9/87]

TEST ( ContainerTest  ,
WorksWithArray   
)

Definition at line 748 of file stat_utils_test.cc.

References Aleph::maps(), Aleph::mean(), and Aleph::median().

◆ TEST() [10/87]

TEST ( ContainerTest  ,
WorksWithDynArray   
)

◆ TEST() [11/87]

TEST ( ContainerTest  ,
WorksWithList   
)

Definition at line 755 of file stat_utils_test.cc.

References l, Aleph::maps(), Aleph::mean(), and Aleph::median().

◆ TEST() [12/87]

TEST ( CorrelationTest  ,
PartialCorrelation   
)

Definition at line 507 of file stat_utils_test.cc.

References Aleph::correlation(), Aleph::maps(), and y.

◆ TEST() [13/87]

TEST ( CorrelationTest  ,
PerfectNegative   
)

Definition at line 493 of file stat_utils_test.cc.

References Aleph::correlation(), Aleph::maps(), and y.

◆ TEST() [14/87]

TEST ( CorrelationTest  ,
PerfectPositive   
)

Definition at line 486 of file stat_utils_test.cc.

References Aleph::correlation(), Aleph::maps(), and y.

◆ TEST() [15/87]

TEST ( CorrelationTest  ,
ZeroVarianceThrows   
)

Definition at line 500 of file stat_utils_test.cc.

References Aleph::correlation(), Aleph::maps(), and y.

◆ TEST() [16/87]

TEST ( CovarianceTest  ,
DifferentSizesThrows   
)

Definition at line 447 of file stat_utils_test.cc.

References Aleph::covariance(), Aleph::maps(), and y.

◆ TEST() [17/87]

TEST ( CovarianceTest  ,
NoCorrelation   
)

Definition at line 475 of file stat_utils_test.cc.

References Aleph::covariance(), Aleph::maps(), and y.

◆ TEST() [18/87]

TEST ( CovarianceTest  ,
PerfectNegative   
)

Definition at line 468 of file stat_utils_test.cc.

References Aleph::covariance(), Aleph::maps(), and y.

◆ TEST() [19/87]

TEST ( CovarianceTest  ,
PerfectPositive   
)

Definition at line 461 of file stat_utils_test.cc.

References Aleph::covariance(), Aleph::maps(), and y.

◆ TEST() [20/87]

TEST ( CovarianceTest  ,
TooFewElementsThrows   
)

Definition at line 454 of file stat_utils_test.cc.

References Aleph::covariance(), Aleph::maps(), and y.

◆ TEST() [21/87]

TEST ( EdgeCaseTest  ,
MixedSigns   
)

Definition at line 735 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [22/87]

TEST ( EdgeCaseTest  ,
VeryLargeNumbers   
)

Definition at line 715 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [23/87]

TEST ( EdgeCaseTest  ,
VerySmallNumbers   
)

Definition at line 726 of file stat_utils_test.cc.

References Aleph::compute_all_stats(), and Aleph::maps().

◆ TEST() [24/87]

TEST ( HistogramTest  ,
ConstantValues   
)

Definition at line 552 of file stat_utils_test.cc.

References h, Aleph::histogram(), and Aleph::maps().

◆ TEST() [25/87]

TEST ( HistogramTest  ,
EmptyContainerThrows   
)

Definition at line 526 of file stat_utils_test.cc.

References Aleph::histogram(), and Aleph::maps().

◆ TEST() [26/87]

TEST ( HistogramTest  ,
MultipleBins   
)

Definition at line 540 of file stat_utils_test.cc.

References Aleph::count(), h, Aleph::histogram(), and Aleph::maps().

◆ TEST() [27/87]

TEST ( HistogramTest  ,
SingleBin   
)

Definition at line 532 of file stat_utils_test.cc.

References h, Aleph::histogram(), and Aleph::maps().

◆ TEST() [28/87]

TEST ( HistogramTest  ,
ZeroBinsThrows   
)

Definition at line 520 of file stat_utils_test.cc.

References Aleph::histogram(), and Aleph::maps().

◆ TEST() [29/87]

TEST ( IqrTest  ,
Basic   
)

Definition at line 313 of file stat_utils_test.cc.

References Aleph::iqr(), Aleph::maps(), and Aleph::quartiles().

◆ TEST() [30/87]

TEST ( KurtosisTest  ,
ConstantValues   
)

Definition at line 414 of file stat_utils_test.cc.

References Aleph::kurtosis(), and Aleph::maps().

◆ TEST() [31/87]

TEST ( KurtosisTest  ,
TooFewElementsThrows   
)

Definition at line 400 of file stat_utils_test.cc.

References Aleph::kurtosis(), and Aleph::maps().

◆ TEST() [32/87]

TEST ( KurtosisTest  ,
UniformDistribution   
)

Definition at line 406 of file stat_utils_test.cc.

References Aleph::kurtosis(), and Aleph::maps().

◆ TEST() [33/87]

TEST ( LegacyComputeStatsTest  ,
ArrayVersion   
)

Definition at line 647 of file stat_utils_test.cc.

References Aleph::compute_stats(), and Aleph::maps().

◆ TEST() [34/87]

TEST ( LegacyComputeStatsTest  ,
ArrayWithOffset   
)

Definition at line 661 of file stat_utils_test.cc.

References Aleph::compute_stats(), and Aleph::maps().

◆ TEST() [35/87]

TEST ( LegacyComputeStatsTest  ,
ContainerVersion   
)

Definition at line 675 of file stat_utils_test.cc.

References Aleph::compute_stats(), and Aleph::maps().

◆ TEST() [36/87]

TEST ( LegacyComputeStatsTest  ,
EmptyRange   
)

Definition at line 698 of file stat_utils_test.cc.

References Aleph::compute_stats(), and Aleph::maps().

◆ TEST() [37/87]

TEST ( LegacyComputeStatsTest  ,
EvenCount   
)

Definition at line 688 of file stat_utils_test.cc.

References Aleph::compute_stats(), and Aleph::maps().

◆ TEST() [38/87]

TEST ( MeanTest  ,
EmptyContainerThrows   
)

Definition at line 86 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mean().

◆ TEST() [39/87]

TEST ( MeanTest  ,
MultipleElements   
)

Definition at line 98 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mean().

◆ TEST() [40/87]

TEST ( MeanTest  ,
NegativeNumbers   
)

Definition at line 104 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mean().

◆ TEST() [41/87]

TEST ( MeanTest  ,
SingleElement   
)

Definition at line 92 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mean().

◆ TEST() [42/87]

TEST ( MeanTest  ,
WithList   
)

Definition at line 110 of file stat_utils_test.cc.

References l, Aleph::maps(), and Aleph::mean().

◆ TEST() [43/87]

TEST ( MedianTest  ,
EmptyContainerThrows   
)

Definition at line 270 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::median().

◆ TEST() [44/87]

TEST ( MedianTest  ,
EvenCount   
)

Definition at line 288 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::median().

◆ TEST() [45/87]

TEST ( MedianTest  ,
OddCount   
)

Definition at line 282 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::median().

◆ TEST() [46/87]

TEST ( MedianTest  ,
SingleElement   
)

Definition at line 276 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::median().

◆ TEST() [47/87]

TEST ( MedianTest  ,
UnsortedData   
)

Definition at line 294 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::median().

◆ TEST() [48/87]

TEST ( MinMaxTest  ,
EmptyContainerThrows   
)

◆ TEST() [49/87]

TEST ( MinMaxTest  ,
MultipleElements   
)

◆ TEST() [50/87]

TEST ( MinMaxTest  ,
NegativeNumbers   
)

Definition at line 218 of file stat_utils_test.cc.

References Aleph::maps(), Aleph::max_value(), and Aleph::min_value().

◆ TEST() [51/87]

TEST ( MinMaxTest  ,
SingleElement   
)

◆ TEST() [52/87]

TEST ( ModeTest  ,
AllDifferent   
)

Definition at line 336 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mode().

◆ TEST() [53/87]

TEST ( ModeTest  ,
ClearMode   
)

Definition at line 344 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mode().

◆ TEST() [54/87]

TEST ( ModeTest  ,
EmptyContainerThrows   
)

Definition at line 324 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mode().

◆ TEST() [55/87]

TEST ( ModeTest  ,
Multimodal   
)

Definition at line 350 of file stat_utils_test.cc.

References Aleph::is_multimodal(), and Aleph::maps().

◆ TEST() [56/87]

TEST ( ModeTest  ,
NotMultimodal   
)

Definition at line 356 of file stat_utils_test.cc.

References Aleph::is_multimodal(), and Aleph::maps().

◆ TEST() [57/87]

TEST ( ModeTest  ,
SingleElement   
)

Definition at line 330 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mode().

◆ TEST() [58/87]

TEST ( PercentileTest  ,
EmptyContainerThrows   
)

Definition at line 229 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::percentile().

◆ TEST() [59/87]

TEST ( PercentileTest  ,
OutOfRangeThrows   
)

Definition at line 235 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::percentile().

◆ TEST() [60/87]

TEST ( PercentileTest  ,
Percentile0   
)

Definition at line 242 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::percentile().

◆ TEST() [61/87]

TEST ( PercentileTest  ,
Percentile100   
)

Definition at line 248 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::percentile().

◆ TEST() [62/87]

TEST ( PercentileTest  ,
Percentile50IsMedian   
)

Definition at line 254 of file stat_utils_test.cc.

References Aleph::maps(), Aleph::median(), and Aleph::percentile().

◆ TEST() [63/87]

TEST ( PercentileTest  ,
UnsortedInput   
)

Definition at line 260 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::percentile().

◆ TEST() [64/87]

TEST ( QuartilesTest  ,
Basic   
)

Definition at line 304 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::quartiles().

◆ TEST() [65/87]

TEST ( SkewnessTest  ,
ConstantValues   
)

Definition at line 390 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::skewness().

◆ TEST() [66/87]

TEST ( SkewnessTest  ,
LeftSkewed   
)

Definition at line 384 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::skewness().

◆ TEST() [67/87]

TEST ( SkewnessTest  ,
RightSkewed   
)

Definition at line 378 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::skewness().

◆ TEST() [68/87]

TEST ( SkewnessTest  ,
SymmetricDistribution   
)

Definition at line 372 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::skewness().

◆ TEST() [69/87]

TEST ( SkewnessTest  ,
TooFewElementsThrows   
)

Definition at line 366 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::skewness().

◆ TEST() [70/87]

TEST ( StatsTest  ,
DefaultConstruction   
)

◆ TEST() [71/87]

TEST ( StatsTest  ,
RangeMethod   
)

◆ TEST() [72/87]

TEST ( StddevTest  ,
Basic   
)

Definition at line 172 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::stddev().

◆ TEST() [73/87]

TEST ( StddevTest  ,
IsSquareRootOfVariance   
)

Definition at line 180 of file stat_utils_test.cc.

References Aleph::maps(), sqrt(), Aleph::stddev(), and Aleph::variance().

◆ TEST() [74/87]

TEST ( SumTest  ,
EmptyVector   
)

Definition at line 52 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::sum().

◆ TEST() [75/87]

TEST ( SumTest  ,
IntegerVector   
)

Definition at line 76 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::sum().

◆ TEST() [76/87]

TEST ( SumTest  ,
MultipleElements   
)

Definition at line 64 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::sum().

◆ TEST() [77/87]

TEST ( SumTest  ,
NegativeNumbers   
)

Definition at line 70 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::sum().

◆ TEST() [78/87]

TEST ( SumTest  ,
SingleElement   
)

Definition at line 58 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::sum().

◆ TEST() [79/87]

TEST ( TypeTest  ,
WorksWithFloat   
)

Definition at line 787 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::mean().

◆ TEST() [80/87]

TEST ( TypeTest  ,
WorksWithInt   
)

Definition at line 780 of file stat_utils_test.cc.

References Aleph::maps(), Aleph::mode(), and Aleph::sum().

◆ TEST() [81/87]

TEST ( VarianceTest  ,
ConstantValues   
)

Definition at line 154 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [82/87]

TEST ( VarianceTest  ,
EmptyContainerThrows   
)

Definition at line 120 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [83/87]

TEST ( VarianceTest  ,
NumericalStability   
)

Definition at line 160 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [84/87]

TEST ( VarianceTest  ,
SampleVsPopulation   
)

Definition at line 145 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [85/87]

TEST ( VarianceTest  ,
SingleElementPopulation   
)

Definition at line 132 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [86/87]

TEST ( VarianceTest  ,
SingleElementThrows   
)

Definition at line 126 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().

◆ TEST() [87/87]

TEST ( VarianceTest  ,
TwoElements   
)

Definition at line 138 of file stat_utils_test.cc.

References Aleph::maps(), and Aleph::variance().