コード例 #1
0
        public void InsertNumberValidator_With_Negative_V1_Throws_ValidationException()
        {
            // arrange
            // act
            var spreadSheet = new SpreadSheet();
            var command     = new InsertNumberCommand(1, 1, -1);
            var validator   = new InsertNumberValidator();

            // assert
            Assert.ThrowsException <ValidationException>(() => validator.Validate(spreadSheet, command));
        }
コード例 #2
0
        public void Execute_ShouldInsertValue()
        {
            // Arrange
            var sheet   = Sheet.Create(3, 3);
            var command = new InsertNumberCommand(sheet, 1, 1, -1);

            // Act
            var newSheet = command.Execute();

            // Assert
            newSheet.Should().NotBeNull();
            newSheet.GetValue(1, 1).Should().Be(-1);
        }
コード例 #3
0
        public void InsertNumberValidator_Out_Of_Range_Throws_ValidationException()
        {
            // arrange
            // act
            var spreadSheet = new SpreadSheet();

            spreadSheet.Cells.Add(new Cell(1, 1));
            var command   = new InsertNumberCommand(1, 20, 1);
            var validator = new InsertNumberValidator();

            // assert
            Assert.ThrowsException <ValidationException>(() => validator.Validate(spreadSheet, command));
        }
コード例 #4
0
        private static ParseResult GetInsertNumberParseResult(string[] commandArgs)
        {
            int x1 = int.Parse(commandArgs[0]);
            int y1 = int.Parse(commandArgs[1]);
            int v1 = int.Parse(commandArgs[2]);

            var command   = new InsertNumberCommand(x1, y1, v1);
            var validator = new InsertNumberValidator();

            return(new ParseResult
            {
                Command = command,
                Validator = validator,
            });
        }
コード例 #5
0
        public void InsertNumber_Command()
        {
            // arrange
            var spreadSheet = new SpreadSheet();
            int x1 = 1, y1 = 1, v1 = 1;

            spreadSheet.Cells.Add(new Cell(x1, y1));
            var command   = new InsertNumberCommand(x1, y1, v1);
            var validator = new InsertNumberValidator();

            // act
            command.ExecuteCommand(spreadSheet, validator);

            // assert
            Assert.AreEqual(v1, spreadSheet[x1, y1].Value);
        }