예제 #1
0
 public TagCloudBuilder(IWordsReader reader, IAlgorithm algorithm, IImageWriter writer, IWordsFilter filter)
 {
     this.filter = filter;
     this.reader = reader;
     this.algorithm = algorithm;
     this.writer = writer;
 }
예제 #2
0
        public void SetUp()
        {
            defaultWords = new List <string> {
                "di", "solid", "mocking", "unit", "to"
            };
            defaultHeights = Enumerable.Repeat(30, defaultWords.Count).ToList();

            wordsPreprocessor1 = A.Fake <IWordsPreprocessor>();
            wordsPreprocessor2 = A.Fake <IWordsPreprocessor>();
            wordsFilter1       = A.Fake <IWordsFilter>();
            wordsFilter2       = A.Fake <IWordsFilter>();
            wordsFramer        = A.Fake <IWordsHeighter>();
            layouter           = A.Fake <ICloudLayouter>();
            writer             = A.Fake <IWordsBitmapWriter>();

            A.CallTo(() => wordsPreprocessor1.Process(null)).WithAnyArguments().Returns(defaultWords);
            A.CallTo(() => wordsPreprocessor2.Process(null)).WithAnyArguments().Returns(defaultWords);
            A.CallTo(() => wordsFilter1.GetFiltered(null)).WithAnyArguments().Returns(defaultWords);
            A.CallTo(() => wordsFilter2.GetFiltered(null)).WithAnyArguments().Returns(defaultWords);
            A.CallTo(() => wordsFramer.GetWithHeights(null)).WithAnyArguments().Returns(defaultWords.Zip(defaultHeights, Tuple.Create));
            A.CallTo(() => layouter.PutNextRectangle(Size.Empty)).WithAnyArguments().Returns(Rectangle.Empty);
            A.CallTo(() => writer.Write(null)).WithAnyArguments().Returns(bitmapResult);

            container = new CloudContainer(
                new [] { wordsPreprocessor1, wordsPreprocessor2 },
                new [] { wordsFilter1, wordsFilter2 },
                wordsFramer,
                layouter,
                writer, ImageFormat.Bmp);
        }
예제 #3
0
 public TextToTagsTranslator(IWordsNormalizer wordsNormalizer, Hunspell hunspell,
                             IWordsFilter wordsFilter, IRectangleCloudLayouter layouter)
 {
     this.wordsNormalizer = wordsNormalizer;
     this.hunspell        = hunspell;
     this.wordsFilter     = wordsFilter;
     this.layouter        = layouter;
 }
예제 #4
0
 public CloudBuilder(IDictionaryNormalizer dictionaryNormalizer, IWordsFilter filter,
                     IFrequencyAnalyzer frequencyAnalyzer, ICloudDrawer cloudDrawer, ICloudLayouter cloudLayouter)
 {
     this.dictionaryNormalizer = dictionaryNormalizer;
     this.filter            = filter;
     this.frequencyAnalyzer = frequencyAnalyzer;
     this.cloudDrawer       = cloudDrawer;
     this.cloudLayouter     = cloudLayouter;
 }
예제 #5
0
 public CircularCloudLayouter(
     ICurve curve,
     IWordsProvider wordsProvider,
     IWordsFilter wordsFilter)
 {
     this.curve    = curve;
     WordsProvider = wordsProvider;
     WordsFilter   = wordsFilter;
 }
예제 #6
0
 public void SetUp()
 {
     textReader            = A.Fake <ITextReader>();
     wordsFilter           = A.Fake <IWordsFilter>();
     wordsCounter          = A.Fake <IWordsCounter>();
     wordsToSizesConverter = A.Fake <IWordsToSizesConverter>();
     ccl        = A.Fake <ICloudLayouter>();
     visualiser = A.Fake <IVisualiser>();
     imageSaver = A.Fake <IFileSaver>();
 }
예제 #7
0
 public TagsCloudContainer(ITextReader textReader, IWordsFilter wordsFilter, IWordsCounter wordsCounter,
                           IWordsToSizesConverter wordsToSizesConverter,
                           ICloudLayouter ccl, IVisualiser visualiser, IFileSaver fileSaver,
                           string output,
                           string input
                           )
 {
     this.textReader            = textReader;
     this.wordsFilter           = wordsFilter;
     this.wordsCounter          = wordsCounter;
     this.wordsToSizesConverter = wordsToSizesConverter;
     CCL             = ccl;
     this.visualiser = visualiser;
     outputFile      = output;
     inputFile       = input;
     imageSaver      = fileSaver;
 }
예제 #8
0
파일: Mainform.cs 프로젝트: Inree/di
 public Mainform(IRectanglesLayouter[] rectanglesLayouters,
                 TagsCloudHandler tagsCloudHandler,
                 ITagsCloudDrawer drawer,
                 TagsCloudSettings settings,
                 IWordsFilter filter,
                 IEnumerable <IFileReader> fileReaders)
 {
     this.tagsCloudHandler = tagsCloudHandler;
     this.settings         = settings;
     this.filter           = filter;
     this.fileReaders      = fileReaders.ToHashSet();
     tagsCloudDrawer       = drawer;
     fontFamilies          = settings.FontSettings.FontFamilies.ToDictionary(family => family.Name);
     fontStyles            = settings.FontSettings.FontStyles.ToDictionary(style => style.ToString());
     layouters             = rectanglesLayouters.ToDictionary(c => c.Name);
     InitializeComponent();
     FontFamilyChoice.DataSource = settings.FontSettings.FontFamilies.Select(f => f.Name).ToList();
     FontStyleChoice.DataSource  = settings.FontSettings.FontStyles.Select(f => f.ToString()).ToList();
     AlgorithmChoice.DataSource  = rectanglesLayouters.Select(c => c.Name).ToList();
 }
예제 #9
0
 public void AddFilter(IWordsFilter wordsFilter)
 {
     filters.Add(wordsFilter);
 }
 public TextPreprocessor(ITokenizer tokenizer, IStemmer stemmer, IWordsFilter wordsFilter)
 {
     this.tokenizer = tokenizer;
     this.stemmer = stemmer;
     this.wordsFilter = wordsFilter;
 }