public void PerformMultiValueDiscreteDataSplit()
        {
            // Given
            var testData = TestDataBuilder.ReadWeatherDataWithCategoricalAttributes();
            var splitParams = new SplittingParams("Outlook", "Play");
            var expectedRowCounts = new Dictionary<object, int>
            {
                ["Sunny"] = 5,
                ["Overcast"] = 4,
                ["Rainy"] = 5
            };

            // When
            var splittedData = MultiValueDiscreteDataSplitter.SplitData(testData, splitParams);

            // Then
            Assert.AreEqual(expectedRowCounts.Count, splittedData.Count);
            foreach (var splittedResult in splittedData)
            {
                var expectedCount = expectedRowCounts[splittedResult.SplitLink.TestResult];
                Assert.AreEqual(expectedCount, splittedResult.SplittedDataFrame.RowCount);
                Assert.AreEqual(expectedCount, splittedResult.SplitLink.InstancesCount);
            }
        }
 protected bool Equals(SplittingParams other)
 {
     return(string.Equals(this.SplitOnFeature, other.SplitOnFeature) && string.Equals(this.DependentFeatureName, other.DependentFeatureName));
 }
 protected bool Equals(SplittingParams other)
 {
     return string.Equals(this.SplitOnFeature, other.SplitOnFeature) && string.Equals(this.DependentFeatureName, other.DependentFeatureName);
 }