Example #1
0
        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();
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }