Skip to content

Commit 0da99bd

Browse files
committed
tests.
1 parent 36b2723 commit 0da99bd

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

src/metric/rank_metric.cc

-1
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,6 @@ class EvalPrecision : public EvalRankWithCache<ltr::MAPCache> {
345345
n_hits += g_label(g_rank[i]) * weight[g];
346346
}
347347
}
348-
349348
pre[g] = n_hits / n;
350349
});
351350

tests/cpp/metric/test_rank_metric.h

+13-11
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,26 @@ namespace xgboost::metric {
2121

2222
inline void VerifyPrecision(DataSplitMode data_split_mode = DataSplitMode::kRow) {
2323
auto ctx = xgboost::CreateEmptyGenericParam(GPUIDX);
24-
xgboost::Metric* metric = xgboost::Metric::Create("pre", &ctx);
24+
std::unique_ptr<xgboost::Metric> metric{Metric::Create("pre", &ctx)};
2525
ASSERT_STREQ(metric->Name(), "pre");
26-
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}, {}, {}, data_split_mode), 0.5, 1e-7);
26+
EXPECT_NEAR(GetMetricEval(metric.get(), {0, 1}, {0, 1}, {}, {}, data_split_mode), 0.5, 1e-7);
2727
EXPECT_NEAR(
28-
GetMetricEval(metric, {0.1f, 0.9f, 0.1f, 0.9f}, {0, 0, 1, 1}, {}, {}, data_split_mode), 0.5,
29-
1e-7);
28+
GetMetricEval(metric.get(), {0.1f, 0.9f, 0.1f, 0.9f}, {0, 0, 1, 1}, {}, {}, data_split_mode),
29+
0.5, 1e-7);
3030

31-
delete metric;
32-
metric = xgboost::Metric::Create("pre@2", &ctx);
31+
metric.reset(xgboost::Metric::Create("pre@2", &ctx));
3332
ASSERT_STREQ(metric->Name(), "pre@2");
34-
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}, {}, {}, data_split_mode), 0.5f, 1e-7);
33+
EXPECT_NEAR(GetMetricEval(metric.get(), {0, 1}, {0, 1}, {}, {}, data_split_mode), 0.5f, 1e-7);
3534
EXPECT_NEAR(
36-
GetMetricEval(metric, {0.1f, 0.9f, 0.1f, 0.9f}, {0, 0, 1, 1}, {}, {}, data_split_mode), 0.5f,
37-
0.001f);
35+
GetMetricEval(metric.get(), {0.1f, 0.9f, 0.1f, 0.9f}, {0, 0, 1, 1}, {}, {}, data_split_mode),
36+
0.5f, 0.001f);
3837

39-
EXPECT_ANY_THROW(GetMetricEval(metric, {0, 1}, {}, {}, {}, data_split_mode));
38+
EXPECT_ANY_THROW(GetMetricEval(metric.get(), {0, 1}, {}, {}, {}, data_split_mode));
4039

41-
delete metric;
40+
metric.reset(xgboost::Metric::Create("pre@4", &ctx));
41+
EXPECT_NEAR(GetMetricEval(metric.get(), {0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f},
42+
{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f}, {}, {}, data_split_mode),
43+
0.5f, 1e-7);
4244
}
4345

4446
inline void VerifyNDCG(DataSplitMode data_split_mode = DataSplitMode::kRow) {

0 commit comments

Comments
 (0)