30 lines
867 B
C++
30 lines
867 B
C++
/**
|
|
* Copyright 2023 by XGBoost contributors
|
|
*/
|
|
#include <gtest/gtest.h>
|
|
#include <xgboost/context.h> // for Context
|
|
#include <xgboost/task.h> // for ObjInfo
|
|
#include <xgboost/tree_updater.h> // for TreeUpdater
|
|
|
|
#include <memory> // for unique_ptr
|
|
|
|
#include "../helpers.h"
|
|
|
|
namespace xgboost {
|
|
TEST(Updater, HasNodePosition) {
|
|
Context ctx;
|
|
ObjInfo task{ObjInfo::kRegression, true, true};
|
|
std::unique_ptr<TreeUpdater> up{TreeUpdater::Create("grow_histmaker", &ctx, &task)};
|
|
ASSERT_TRUE(up->HasNodePosition());
|
|
|
|
up.reset(TreeUpdater::Create("grow_quantile_histmaker", &ctx, &task));
|
|
ASSERT_TRUE(up->HasNodePosition());
|
|
|
|
#if defined(XGBOOST_USE_CUDA)
|
|
ctx = MakeCUDACtx(0);
|
|
up.reset(TreeUpdater::Create("grow_gpu_hist", &ctx, &task));
|
|
ASSERT_TRUE(up->HasNodePosition());
|
|
#endif // defined(XGBOOST_USE_CUDA)
|
|
}
|
|
} // namespace xgboost
|