public GRMFacade(SortingStrategyType sortingStrategy, TransactionIDsStorageStrategyType transactionIdsStorageStrategy, DecisionSupergeneratorsHandlingStrategyType decisionSupergeneratorsHandlingStrategy) { _dataSetRepresentationBuilder = new DataSetRepresentationBuilder(new TransactionProcessor()); _frequentItemsSelector = new FrequentItemsSelector(); _sortingStrategy = new SortingStrategyFactory().Create(sortingStrategy); var storageStrategy = new TransactionIDsStorageStrategyFactory().Create(transactionIdsStorageStrategy); _treeBuilder = new TreeBuilder(storageStrategy); _decisionGeneratorsCollector = new DecisionGeneratorsCollectorFactory().Create(decisionSupergeneratorsHandlingStrategy); _garmProcedure = new GARMProcedure(_decisionGeneratorsCollector, new GARMPropertyProcedure(storageStrategy)); _grmResultBuilder = new GRMResultBuilder(); }
private void Execute(SortingStrategyType sortingStrategy, TransactionIDsStorageStrategyType transactionIdsStorageStrategy) { // Arrange ProgressTrackerContainer.CurrentProgressTracker = new SubstepProgressTracker(); // Act GRMResult result; using (var dataSetStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(DataSet))) { result = new Logic.GRMFacade(sortingStrategy, transactionIdsStorageStrategy, 0).ExecuteGRM(dataSetStream, false, DecisionAttributeIndex, MinimumSupport); } // Assert AssertResult(result); }
public ISortingStrategy Create(SortingStrategyType strategyType) { switch (strategyType) { case SortingStrategyType.AscendingSupport: return(new AscendingSupportSortingStrategy()); case SortingStrategyType.DescendingSupport: return(new DescendingSupportSortingStrategy()); case SortingStrategyType.Lexicographical: return(new LexicographicalSortingStrategy()); default: return(null); } }