From b1b0750e5b587f85e3197985c3a206cc8ded1053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Or=C5=A1uli=C4=87?= Date: Wed, 4 Oct 2017 13:15:35 +0200 Subject: [PATCH] Check ratios in fixed rate sampler. (#502) --- cartographer/common/fixed_ratio_sampler.cc | 7 ++++++- cartographer/common/fixed_ratio_sampler_test.cc | 9 ++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cartographer/common/fixed_ratio_sampler.cc b/cartographer/common/fixed_ratio_sampler.cc index 7de8c77..5f466a1 100644 --- a/cartographer/common/fixed_ratio_sampler.cc +++ b/cartographer/common/fixed_ratio_sampler.cc @@ -16,10 +16,15 @@ #include "cartographer/common/fixed_ratio_sampler.h" +#include "glog/logging.h" + namespace cartographer { namespace common { -FixedRatioSampler::FixedRatioSampler(const double ratio) : ratio_(ratio) {} +FixedRatioSampler::FixedRatioSampler(const double ratio) : ratio_(ratio) { + CHECK_GT(ratio, 0.); + CHECK_LE(ratio, 1.); +} FixedRatioSampler::~FixedRatioSampler() {} diff --git a/cartographer/common/fixed_ratio_sampler_test.cc b/cartographer/common/fixed_ratio_sampler_test.cc index 3bce575..fdcfdc5 100644 --- a/cartographer/common/fixed_ratio_sampler_test.cc +++ b/cartographer/common/fixed_ratio_sampler_test.cc @@ -29,11 +29,10 @@ TEST(FixedRatioSamplerTest, AlwaysTrue) { } } -TEST(FixedRatioSamplerTest, AlwaysFalse) { - FixedRatioSampler fixed_ratio_sampler(0.); - for (int i = 0; i < 100; ++i) { - EXPECT_FALSE(fixed_ratio_sampler.Pulse()); - } +TEST(FixedRatioSamplerTest, NonSensicalRatio) { + EXPECT_DEATH(FixedRatioSampler(0.), "ratio"); + EXPECT_DEATH(FixedRatioSampler(2.), "ratio"); + EXPECT_DEATH(FixedRatioSampler(-0.1), "ratio"); } TEST(FixedRatioSamplerTest, SometimesTrue) {