@@ -327,13 +327,23 @@ TEST(aggregation, Base2ExponentialHistogramAggregation)
327327 EXPECT_EQ (merged_point.negative_buckets_ .Get (-2 ), 1 );
328328 EXPECT_EQ (merged_point.positive_buckets_ .Get (2 ), 0 );
329329
330- auto diffd = merged->Diff (scale1_aggr);
330+ // Diff test
331+ Base2ExponentialHistogramAggregation scale2_aggr (&scale1_config);
332+ Base2ExponentialHistogramAggregation scale3_aggr (&scale1_config);
333+ scale2_aggr.Aggregate (2.0 , {});
334+ scale2_aggr.Aggregate (4.0 , {});
335+ scale2_aggr.Aggregate (2.5 , {});
336+
337+ scale3_aggr.Aggregate (2.0 , {});
338+ scale3_aggr.Aggregate (2.3 , {});
339+ scale3_aggr.Aggregate (2.5 , {});
340+ scale3_aggr.Aggregate (4.0 , {});
341+
342+ auto diffd = scale2_aggr.Diff (scale3_aggr);
331343 auto diffd_point = nostd::get<Base2ExponentialHistogramPointData>(diffd->ToPoint ());
332- EXPECT_EQ (diffd_point.count_ , 4 );
333- EXPECT_EQ (diffd_point.sum_ , 6.2 );
334- EXPECT_EQ (diffd_point.zero_count_ , 1 );
335- EXPECT_EQ (diffd_point.scale_ , 0 );
336- EXPECT_EQ (diffd_point.positive_buckets_ .Get (1 ), 2 );
337- EXPECT_EQ (diffd_point.negative_buckets_ .Get (-2 ), 1 );
338- EXPECT_EQ (diffd_point.positive_buckets_ .Get (2 ), 0 );
344+ EXPECT_EQ (diffd_point.count_ , 1 );
345+ EXPECT_NEAR (diffd_point.sum_ , 2.3 , 1e-9 );
346+ EXPECT_EQ (diffd_point.zero_count_ , 0 );
347+ EXPECT_EQ (diffd_point.scale_ , 1 );
348+ EXPECT_EQ (diffd_point.positive_buckets_ .Get (2 ), 1 );
339349}
0 commit comments