xrpld
Loading...
Searching...
No Matches
Histogram.cpp
1#include <csf/Histogram.h>
2
3#include <gtest/gtest.h>
4
5namespace xrpl::test {
6
7TEST(HistogramTest, histogram)
8{
9 using namespace csf;
10 Histogram<int> hist;
11
12 EXPECT_TRUE(hist.size() == 0);
13 EXPECT_TRUE(hist.numBins() == 0);
14 EXPECT_TRUE(hist.minValue() == 0);
15 EXPECT_TRUE(hist.maxValue() == 0);
16 EXPECT_TRUE(hist.avg() == 0);
17 EXPECT_TRUE(hist.percentile(0.0f) == hist.minValue());
18 EXPECT_TRUE(hist.percentile(0.5f) == 0);
19 EXPECT_TRUE(hist.percentile(0.9f) == 0);
20 EXPECT_TRUE(hist.percentile(1.0f) == hist.maxValue());
21
22 hist.insert(1);
23
24 EXPECT_TRUE(hist.size() == 1);
25 EXPECT_TRUE(hist.numBins() == 1);
26 EXPECT_TRUE(hist.minValue() == 1);
27 EXPECT_TRUE(hist.maxValue() == 1);
28 EXPECT_TRUE(hist.avg() == 1);
29 EXPECT_TRUE(hist.percentile(0.0f) == hist.minValue());
30 EXPECT_TRUE(hist.percentile(0.5f) == 1);
31 EXPECT_TRUE(hist.percentile(0.9f) == 1);
32 EXPECT_TRUE(hist.percentile(1.0f) == hist.maxValue());
33
34 hist.insert(9);
35
36 EXPECT_TRUE(hist.size() == 2);
37 EXPECT_TRUE(hist.numBins() == 2);
38 EXPECT_TRUE(hist.minValue() == 1);
39 EXPECT_TRUE(hist.maxValue() == 9);
40 EXPECT_TRUE(hist.avg() == 5);
41 EXPECT_TRUE(hist.percentile(0.0f) == hist.minValue());
42 EXPECT_TRUE(hist.percentile(0.5f) == 1);
43 EXPECT_TRUE(hist.percentile(0.9f) == 9);
44 EXPECT_TRUE(hist.percentile(1.0f) == hist.maxValue());
45
46 hist.insert(1);
47
48 EXPECT_TRUE(hist.size() == 3);
49 EXPECT_TRUE(hist.numBins() == 2);
50 EXPECT_TRUE(hist.minValue() == 1);
51 EXPECT_TRUE(hist.maxValue() == 9);
52 EXPECT_TRUE(hist.avg() == 11 / 3);
53 EXPECT_TRUE(hist.percentile(0.0f) == hist.minValue());
54 EXPECT_TRUE(hist.percentile(0.5f) == 1);
55 EXPECT_TRUE(hist.percentile(0.9f) == 9);
56 EXPECT_TRUE(hist.percentile(1.0f) == hist.maxValue());
57}
58
59} // namespace xrpl::test
TEST(UnitsTest, types)
Definition Units.cpp:16