MCPcopy Create free account
hub / github.com/catboost/catboost / TestSampleDataset

Function TestSampleDataset

catboost/libs/data/ut/lib/for_loader.cpp:106–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104
105
106 void TestSampleDataset(const TSampleDatasetTestCase& testCase) {
107 TReadDatasetMainParams readDatasetMainParams;
108
109 // TODO(akhropov): temporarily use THolder until TTempFile move semantic are fixed
110 TVector<THolder<TTempFile>> srcDataFiles;
111
112 SaveSrcData(testCase.SrcData, &readDatasetMainParams, &srcDataFiles);
113
114 NCatboostOptions::TDatasetReadingParams datasetReadingParams;
115 datasetReadingParams.ColumnarPoolFormatParams = readDatasetMainParams.ColumnarPoolFormatParams;
116 datasetReadingParams.PoolPath = readDatasetMainParams.PoolPath;
117 datasetReadingParams.PairsFilePath = readDatasetMainParams.PairsFilePath;
118 datasetReadingParams.GraphFilePath = readDatasetMainParams.GraphFilePath;
119 datasetReadingParams.FeatureNamesPath = readDatasetMainParams.FeatureNamesFilePath;
120
121 NPar::TLocalExecutor localExecutor;
122 localExecutor.RunAdditionalThreads(3);
123
124 auto sampleDataset = [&] () {
125 auto sampler = GetProcessor<IDataProviderSampler, TDataProviderSampleParams>(
126 readDatasetMainParams.PoolPath,
127 TDataProviderSampleParams {
128 datasetReadingParams,
129 testCase.OnlyFeaturesData,
130 /*CpuUsedRamLimit*/ Max<ui64>(),
131 &localExecutor
132 }
133 );
134
135 TDataProviderPtr dataProvider;
136 if (testCase.SubsetIndices) {
137 dataProvider = sampler->SampleByIndices(*(testCase.SubsetIndices));
138 } else if (testCase.SubsetSampleIds) {
139 dataProvider = sampler->SampleBySampleIds(*(testCase.SubsetSampleIds));
140 } else {
141 CB_ENSURE(false, "Neither indices nor sampleIds are provided");
142 }
143
144 return dataProvider;
145 };
146
147 if (testCase.ExpectedReadError) {
148 UNIT_ASSERT_EXCEPTION(sampleDataset(), TCatBoostException);
149 } else {
150 TDataProviderPtr dataProvider = sampleDataset();
151 Compare<TRawObjectsDataProvider>(std::move(dataProvider), testCase.ExpectedData);
152 }
153 }
154
155 }
156}

Callers 1

Y_UNIT_TESTFunction · 0.85

Calls 5

RunAdditionalThreadsMethod · 0.80
SaveSrcDataFunction · 0.70
moveFunction · 0.50
SampleByIndicesMethod · 0.45
SampleBySampleIdsMethod · 0.45

Tested by

no test coverage detected