use ferrolearn_preprocess::{
BinEncoding,
BinStrategy,
Binarizer,
BinaryEncoder,
ColumnSelector,
ColumnTransformer,
CountVectorizer,
Direction,
FittedBinaryEncoder,
FittedColumnTransformer,
FittedCountVectorizer,
FittedGaussianRandomProjection,
FittedIterativeImputer,
FittedKBinsDiscretizer,
FittedKNNImputer,
FittedLabelBinarizer,
FittedLabelEncoder,
FittedMaxAbsScaler,
FittedMinMaxScaler,
FittedMultiLabelBinarizer,
FittedOneHotEncoder,
FittedOrdinalEncoder,
FittedPowerTransformer,
FittedQuantileTransformer,
FittedRobustScaler,
FittedSelectFdr,
FittedSelectFpr,
FittedSelectFromModelExt,
FittedSelectFwe,
FittedSelectKBest,
FittedSelectPercentile,
FittedSequentialFeatureSelector,
FittedSimpleImputer,
FittedSparseRandomProjection,
FittedSplineTransformer,
FittedStandardScaler,
FittedTargetEncoder,
FittedTfidfTransformer,
FittedVarianceThreshold,
FunctionTransformer,
GaussianRandomProjection,
ImputeStrategy,
InitialStrategy,
IterativeImputer,
KBinsDiscretizer,
KNNImputer,
KNNWeights,
KnotStrategy,
LabelBinarizer,
LabelEncoder,
MaxAbsScaler,
MinMaxScaler,
MultiLabelBinarizer,
Normalizer,
OneHotEncoder,
OrdinalEncoder,
OutputDistribution,
PolynomialFeatures,
PowerTransformer,
QuantileTransformer,
RFE,
RFECV,
Remainder,
RobustScaler,
ScoreFunc,
SelectFdr,
SelectFpr,
SelectFromModel,
SelectFromModelExt,
SelectFwe,
SelectKBest,
SelectPercentile,
SequentialFeatureSelector,
SimpleImputer,
SparseRandomProjection,
SplineTransformer,
StandardScaler,
TargetEncoder,
TfidfNorm,
TfidfTransformer,
ThresholdStrategy,
VarianceThreshold,
chi2,
compute_scores_classif,
compute_scores_regression,
f_classif,
f_regression,
make_column_transformer,
};
fn name_type<T>() {}
#[allow(
clippy::assertions_on_constants,
reason = "the real assertion is the COMPILE of the use block + name_type refs; \
the assert!(true) only keeps the harness green when every re-export resolves"
)]
#[test]
fn boundary_integrity_six_module_all_surface() {
name_type::<StandardScaler<f64>>();
name_type::<FittedStandardScaler<f64>>();
name_type::<MinMaxScaler<f64>>();
name_type::<FittedMinMaxScaler<f64>>();
name_type::<MaxAbsScaler<f64>>();
name_type::<FittedMaxAbsScaler<f64>>();
name_type::<RobustScaler<f64>>();
name_type::<FittedRobustScaler<f64>>();
name_type::<Normalizer<f64>>();
name_type::<PowerTransformer<f64>>();
name_type::<FittedPowerTransformer<f64>>();
name_type::<QuantileTransformer<f64>>();
name_type::<FittedQuantileTransformer<f64>>();
name_type::<Binarizer<f64>>();
name_type::<FunctionTransformer<f64>>();
name_type::<PolynomialFeatures<f64>>();
name_type::<SplineTransformer<f64>>();
name_type::<FittedSplineTransformer<f64>>();
name_type::<KBinsDiscretizer<f64>>();
name_type::<FittedKBinsDiscretizer<f64>>();
name_type::<TargetEncoder<f64>>();
name_type::<FittedTargetEncoder<f64>>();
name_type::<OneHotEncoder<f64>>();
name_type::<FittedOneHotEncoder<f64>>();
name_type::<OrdinalEncoder>();
name_type::<FittedOrdinalEncoder>();
name_type::<LabelEncoder>();
name_type::<FittedLabelEncoder>();
name_type::<LabelBinarizer>();
name_type::<FittedLabelBinarizer>();
name_type::<MultiLabelBinarizer>();
name_type::<FittedMultiLabelBinarizer>();
name_type::<BinEncoding>();
name_type::<BinStrategy>();
name_type::<KnotStrategy>();
name_type::<OutputDistribution>();
name_type::<TfidfNorm>();
name_type::<ImputeStrategy<f64>>();
name_type::<VarianceThreshold<f64>>();
name_type::<FittedVarianceThreshold<f64>>();
name_type::<SelectKBest<f64>>();
name_type::<FittedSelectKBest<f64>>();
name_type::<SelectPercentile<f64>>();
name_type::<FittedSelectPercentile<f64>>();
name_type::<SelectFromModel<f64>>();
name_type::<SelectFromModelExt<f64>>();
name_type::<FittedSelectFromModelExt<f64>>();
name_type::<SelectFdr<f64>>();
name_type::<FittedSelectFdr<f64>>();
name_type::<SelectFpr<f64>>();
name_type::<FittedSelectFpr<f64>>();
name_type::<SelectFwe<f64>>();
name_type::<FittedSelectFwe<f64>>();
name_type::<RFE<f64>>();
name_type::<RFECV<f64>>();
name_type::<SequentialFeatureSelector>();
name_type::<FittedSequentialFeatureSelector<f64>>();
name_type::<ScoreFunc>();
name_type::<ThresholdStrategy>();
name_type::<Direction>();
let _chi2 = chi2::<f64>;
let _f_classif = f_classif::<f64>;
let _f_regression = f_regression::<f64>;
let _scores_classif = compute_scores_classif::<f64>;
let _scores_regression = compute_scores_regression::<f64>;
name_type::<CountVectorizer>();
name_type::<FittedCountVectorizer>();
name_type::<TfidfTransformer<f64>>();
name_type::<FittedTfidfTransformer<f64>>();
name_type::<SimpleImputer<f64>>();
name_type::<FittedSimpleImputer<f64>>();
name_type::<KNNImputer<f64>>();
name_type::<FittedKNNImputer<f64>>();
name_type::<IterativeImputer<f64>>();
name_type::<FittedIterativeImputer<f64>>();
name_type::<KNNWeights>();
name_type::<InitialStrategy>();
name_type::<GaussianRandomProjection<f64>>();
name_type::<FittedGaussianRandomProjection<f64>>();
name_type::<SparseRandomProjection<f64>>();
name_type::<FittedSparseRandomProjection<f64>>();
name_type::<ColumnTransformer>();
name_type::<FittedColumnTransformer>();
name_type::<ColumnSelector>();
name_type::<Remainder>();
let _make_ct = make_column_transformer;
name_type::<BinaryEncoder<f64>>();
name_type::<FittedBinaryEncoder<f64>>();
assert!(
true,
"boundary integrity holds: all six-module __all__ re-exports resolved"
);
}