Ejemplo n.º 1
0
        public void DoesRowFitTable_ArgumentsAreNull_ThrowsArgumentNullException()
        {
            // Arrange
            Table table = new Table();
            Row   row   = new Row();

            // Arrange - create target
            DatabaseValidation target = new DatabaseValidation(this._dbValidationSettings);

            // Act and Assert
            Assert.Throws <ArgumentNullException>(() => target.DoesRowFitTable(null, row));
            Assert.Throws <ArgumentNullException>(() => target.DoesRowFitTable(table, null));
        }
Ejemplo n.º 2
0
        public void DoesRowFitTable_RowFitsTable_ReturnsTrue()
        {
            // Arrange
            Table table = new Table
            {
                Name       = "testTable",
                Attributes =
                    new List <Models.Attribute>
                {
                    new Models.Attribute
                    {
                        Name = "testAttribute", Type = this._dbValidationSettings.DataTypes.Keys.First()
                    }
                }
            };
            Row row = new Row {
                Value = new List <string> {
                    "1"
                }
            };

            // Arrange - create target
            DatabaseValidation target = new DatabaseValidation(this._dbValidationSettings);

            // Act and Assert
            Assert.IsTrue(target.DoesRowFitTable(table, row));

            this._dataTypeMock.Verify(r => r.IsValidValue(row.Value.First()), Times.Once);
        }
Ejemplo n.º 3
0
        public void DoesRowFitTable_RowDoesNotFitTableSize_ReturnsFalse()
        {
            // Arrange
            Table table = new Table
            {
                Name       = "testTable",
                Attributes =
                    new List <Models.Attribute>
                {
                    new Models.Attribute
                    {
                        Name = "testAttribute", Type = this._dbValidationSettings.DataTypes.Keys.First()
                    }
                }
            };
            List <Row> rows = new List <Row>
            {
                new Row {
                    Value = new List <string> {
                        "1", "2"
                    }
                }, new Row {
                    Value = new List <string>()
                }
            };

            // Arrange - create target
            DatabaseValidation target = new DatabaseValidation(this._dbValidationSettings);

            // Act and Assert
            foreach (Row row in rows)
            {
                Assert.IsFalse(target.DoesRowFitTable(table, row));
            }
        }
Ejemplo n.º 4
0
        public void DoesRowFitTable_RowHasInvalidValue_ReturnsFalse()
        {
            // Arrange
            string typeName = "testType";

            Table table = new Table
            {
                Name       = "testTable",
                Attributes = new List <Models.Attribute> {
                    new Models.Attribute {
                        Name = "testAttribute", Type = typeName
                    }
                }
            };
            Row row = new Row {
                Value = new List <string> {
                    "1234sometext"
                }
            };

            // Arrange - mock dataType
            this._dataTypeMock.Setup(t => t.IsValidValue(row.Value.First()))
            .Returns(false);

            DatabaseValidationSettings dbValidationSettings =
                new DatabaseValidationSettings(dataTypes:
                                               new Dictionary <string, IDataType> {
                { typeName, this._dataTypeMock.Object }
            });

            // Arrange - create target
            DatabaseValidation target = new DatabaseValidation(dbValidationSettings);

            // Act and Assert
            Assert.IsFalse(target.DoesRowFitTable(table, row));
        }