public void DrawTagCloud_ShouldPutRectangle()
        {
            var filteringWord = new[] { "aba", "abc" };

            A.CallTo(() => filter.Filtering(A <IEnumerable <string> > .Ignored)).Returns(filteringWord);
            tagCloudVisualizator.DrawTagCloud("", TagsCloudSetting.GetDefault());
            A.CallTo(() => rectangleGenerator.PutNextRectangle(A <Size> .Ignored))
            .MustHaveHappened(filteringWord.Length, Times.Exactly);
        }
Beispiel #2
0
        public static void Main(string[] args)
        {
            var options = ArgumentParser.ParseArguments(args);
            var setting = new TagsCloudSetting(options);
            //var setting = TagsCloudSetting.GetDefault();

            var container            = BuildContainer(setting);
            var tagCloudVisualizator = container.Resolve <TagCloudVisualizator>();
            var text = File.ReadAllText(options.InputFile);

            tagCloudVisualizator.DrawTagCloud(text, setting)
            .Save(options.OutputFile);
            Console.WriteLine($"Image save in {options.OutputFile}");
        }
Beispiel #3
0
        public void TearDown()
        {
            if (TestContext.CurrentContext.Result.Outcome.Status != TestStatus.Failed)
            {
                return;
            }

            var visualizer = new Visualizer(TagsCloudSetting.GetDefault());

            visualizer.DrawRectangles(layouter.Rectangles);
            var path = Path.Combine(TestContext.CurrentContext.TestDirectory, $"{TestContext.CurrentContext.Test.Name}.bmp");

            visualizer.Save().Save(path);
            Console.WriteLine($"Error Tests TagCloud saved to file {path}");
        }
        public void DrawTagCloud_ShouldCorrectWorkVisualizer()
        {
            var filteringWord = new[] { "aba", "abc" };

            A.CallTo(() => filter.Filtering(A <IEnumerable <string> > .Ignored)).Returns(filteringWord);
            var rectangles = new[] { new Rectangle(0, 0, 50, 50), new Rectangle(50, 50, 50, 50) };

            A.CallTo(() => rectangleGenerator.PutNextRectangle(A <Size> .Ignored)).Returns(rectangles[1]).Once();
            A.CallTo(() => rectangleGenerator.PutNextRectangle(A <Size> .Ignored)).Returns(rectangles[0]).Once();

            tagCloudVisualizator.DrawTagCloud("", TagsCloudSetting.GetDefault());

            A.CallTo(() => visualizer.DrawTag(A <TagRectangle> .That.Matches(x => x.Equals(new TagRectangle(filteringWord[0], rectangles[0]))), A <Font> .Ignored))
            .MustHaveHappenedOnceExactly();
            A.CallTo(() => visualizer.DrawTag(A <TagRectangle> .That.Matches(x => x.Equals(new TagRectangle(filteringWord[1], rectangles[1]))), A <Font> .Ignored))
            .MustHaveHappenedOnceExactly();
        }
Beispiel #5
0
        private static IContainer BuildContainer(TagsCloudSetting setting)
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <Visualizer>().As <IVisualizer>();
            builder.RegisterType <MyStemParser>().As <ITokensParser>().SingleInstance();
            builder.RegisterType <MyStemFilter>().As <IFilter>().SingleInstance()
            .WithParameter("allowedWorldType",
                           new[] { GramPartsEnum.Noun, GramPartsEnum.Verb, GramPartsEnum.Adjective, GramPartsEnum.Adverb });
            builder.Register(c => setting).As <ICloudSetting>().SingleInstance();
            builder.RegisterType <SpiralGenerator>().As <IPointGenerator>()
            .WithParameter("center", setting.GetCenterImage());
            builder.RegisterType <CircularCloudLayouter>().As <IRectangleGenerator>();
            builder.RegisterType <TagCloudVisualizator>().AsSelf();

            return(builder.Build());
        }
 public void DrawTagCloud_ShouldParsing()
 {
     tagCloudVisualizator.DrawTagCloud("", TagsCloudSetting.GetDefault());
     A.CallTo(() => tokensParser.GetTokens(A <string> .Ignored))
     .MustHaveHappenedOnceExactly();
 }
 public void DrawTagCloud_ShouldFiltering()
 {
     tagCloudVisualizator.DrawTagCloud("", TagsCloudSetting.GetDefault());
     A.CallTo(() => filter.Filtering(A <IEnumerable <string> > .Ignored))
     .MustHaveHappenedOnceExactly();
 }