Esempio n. 1
0
        public void CloudPainter_ShouldCallStartDrawing_OnlyOnce()
        {
            var words = new Dictionary <string, int> {
                ["hello"] = 1
            };
            var painter = new CloudWithWordsPainter(imageHolder, settings, palette, layouter, words);

            painter.Paint();

            A.CallTo(() => imageHolder.StartDrawing()).WithAnyArguments().MustHaveHappenedOnceExactly();
        }
Esempio n. 2
0
        public void CloudPainter_ShouldCallLayouterExactTimesThatSpecifiedInSettings()
        {
            var words = new Dictionary <string, int> {
                ["hello"] = 1
            };
            var painter = new CloudWithWordsPainter(imageHolder, settings, palette, layouter, words);

            painter.Paint();

            A.CallTo(() => layouter.PutNextRectangle(new Size(10, 10))).WithAnyArguments().MustHaveHappened(words.Count, Times.Exactly);
        }
Esempio n. 3
0
        public void CloudPainter_ShouldCallDrawRectangle_AsMuchAsWordsCount()
        {
            var words = new Dictionary <string, int>
            {
                ["hello"] = 1,
                ["hell"]  = 2,
                ["hel"]   = 3,
                ["he"]    = 4
            };

            A.CallTo(() => settings.Frame).Returns(true);
            var painter = new CloudWithWordsPainter(imageHolder, settings, palette, layouter, words);

            painter.Paint();

            A.CallTo(() => graphics.DrawRectangle(default, default)).WithAnyArguments().MustHaveHappened(words.Count, Times.Exactly);