Пример #1
0
        public void Call_Canvas_BucketFill_When_Params_Are_Fine()
        {
            uint expected_x      = 1;
            uint expected_y      = 1;
            var  expected_colour = 'c';

            var args = new string[]
            {
                expected_x.ToString(),
                expected_y.ToString(),
                expected_colour.ToString()
            };

            var mockCanvas = new Mock <ICanvas>();

            mockCanvas.Setup(m => m.BucketFill(It.IsAny <BucketFillParameters>()));
            var command = new BucketFillCommand();

            command.Input = args;
            command.Execute(mockCanvas.Object);

            var expected_bulk_fill_parameters = new BucketFillParameters
            {
                //adjust 1-based coordinates to 0-based
                Point = new Point(expected_x - 1, expected_y - 1),
                Color = expected_colour
            };

            mockCanvas.Verify(x => x.BucketFill(expected_bulk_fill_parameters),
                              Times.Exactly(1),
                              "BucketFillCommand doesn't call Canvas.BucketFill with correct args");
        }
Пример #2
0
        public void Throw_When_No_Canvas_Exist()
        {
            var command = new BucketFillCommand();

            command.Input = new string[] { "1", "1", "c" };
            Action test = () => command.Execute(null);

            test.Should().Throw <ArgumentNullException>();
        }
Пример #3
0
        public void Throw_When_Null_Argument()
        {
            var canvas = new Canvas(new CanvasDimentions {
                Width = 100, Height = 100
            });

            var command = new BucketFillCommand();

            Action test = () => command.Execute(canvas);

            test.Should().Throw <ArgumentNullException>();
        }
Пример #4
0
        public void Throw_When_An_Expected_Param_Is_Of_Invalid_Format(string arg1, string arg2, string arg3)
        {
            var canvas = new Canvas(new CanvasDimentions {
                Width = 100, Height = 100
            });

            var command = new BucketFillCommand();

            command.Input = new string[] { arg1, arg2, arg3 };
            Action test = () => command.Execute(canvas);

            test.Should().Throw <ArgumentException>();
        }
Пример #5
0
        public void Throw_When_Fewer_Params_Than_Expected_Are_Passed()
        {
            var canvas = new Canvas(new CanvasDimentions {
                Width = 100, Height = 100
            });

            var command = new BucketFillCommand();

            command.Input = new string[] { "1", "2" };
            Action test = () => command.Execute(canvas);

            test.Should().Throw <ArgumentException>();
        }