]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/tests/testStatHist.cc
3 #include "testStatHist.h"
5 CPPUNIT_TEST_SUITE_REGISTRATION(testStatHist
);
8 ZERO
, ONE
, TWO
, THREE
, FOUR
, FIVE
11 class InspectingStatHist
: public StatHist
14 bool operator==(const InspectingStatHist
&);
15 bins_type
counter(double v
) {
16 return bins
[findBin(v
)];
21 InspectingStatHist::operator ==(const InspectingStatHist
& src
)
23 assert(bins
!= NULL
&& src
.bins
!= NULL
); // TODO: remove after initializing bins at construction time
24 if (capacity_
!= src
.capacity_
||
31 return (memcmp(bins
,src
.bins
,capacity_
*sizeof(*bins
))==0);
35 testStatHist::testStatHistBaseEquality()
37 InspectingStatHist raw
, test
;
40 CPPUNIT_ASSERT(raw
==test
);
42 CPPUNIT_ASSERT_ASSERTION_FAIL(CPPUNIT_ASSERT(raw
==test
));
46 testStatHist::testStatHistBaseAssignment()
48 InspectingStatHist raw
, test
;
52 CPPUNIT_ASSERT_ASSERTION_FAIL(CPPUNIT_ASSERT(raw
==test
));
54 CPPUNIT_ASSERT(raw
==test
);
58 testStatHist::testStatHistLog()
60 const double min
=0.0, max
=10000.0;
61 const int capacity
=10;
62 InspectingStatHist raw
, test
;
63 raw
.logInit(capacity
,min
,max
);
65 CPPUNIT_ASSERT(test
.counter(min
)==0);
67 CPPUNIT_ASSERT(test
.counter(min
)==1);
68 CPPUNIT_ASSERT(test
.counter(max
)==0);
70 CPPUNIT_ASSERT(test
.counter(max
)==1);
73 //CPPUNIT_ASSERT(test.val(capacity-1)==1); //FIXME: val() returns a density
77 testStatHist::testStatHistSum()
79 InspectingStatHist s1
, s2
;
80 s1
.logInit(30,1.0,100.0);
81 s2
.logInit(30,1.0,100.0);
84 InspectingStatHist ts1
, ts2
;
89 CPPUNIT_ASSERT(ts1
== ts2
);
90 InspectingStatHist ts3
;
91 ts3
.logInit(30,1.0,100.0);
94 CPPUNIT_ASSERT(ts3
== ts1
);