void TestSelectWorkout() { var data = new[] { new TestClass() { A = 1, B = 2, C = 3, }, new TestClass() { A = 4, B = 5, C = 6 } }; var invalidData = new [] { new TestClass2 { D = 3, E = 5 } }; using (var env = new ConsoleEnvironment()) { var dataView = ComponentCreation.CreateDataView(env, data); var invalidDataView = ComponentCreation.CreateDataView(env, invalidData); // Workout on keep columns var est = new SelectColumnsEstimator(env, new[] { "A", "B" }, null, true, false); TestEstimatorCore(est, validFitInput: dataView, invalidInput: invalidDataView); // Workout on drop columns est = new SelectColumnsEstimator(env, null, new[] { "A", "B" }, true, false); TestEstimatorCore(est, validFitInput: dataView, invalidInput: invalidDataView); // Workout on keep columns with ignore mismatch -- using invalid data set est = new SelectColumnsEstimator(env, null, new[] { "A", "B" }, true); TestEstimatorCore(est, validFitInput: invalidDataView); } }
void TestSelect() { var data = new[] { new TestClass() { A = 1, B = 2, C = 3, }, new TestClass() { A = 4, B = 5, C = 6 } }; using (var env = new ConsoleEnvironment()) { var dataView = ComponentCreation.CreateDataView(env, data); var est = new SelectColumnsEstimator(env, "A", "C"); var transformer = est.Fit(dataView); var result = transformer.Transform(dataView); var foundColumnA = result.Schema.TryGetColumnIndex("A", out int aIdx); var foundColumnB = result.Schema.TryGetColumnIndex("B", out int bIdx); var foundColumnC = result.Schema.TryGetColumnIndex("C", out int cIdx); Assert.True(foundColumnA); Assert.Equal(0, aIdx); Assert.False(foundColumnB); Assert.Equal(0, bIdx); Assert.True(foundColumnC); Assert.Equal(1, cIdx); } }