30.06.2013 Views

SQL Server Team-based Development - Red Gate Software

SQL Server Team-based Development - Red Gate Software

SQL Server Team-based Development - Red Gate Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5: Testing Databases<br />

Assert.AreEqual(row["ORDINAL_POSITION"], 8,<br />

"Column has wrong ORDINAL_POSITION.");<br />

Assert.AreEqual(row["DATA_TYPE"].ToString(),<br />

"datetime,"<br />

"Column has wrong DATA_TYPE.");<br />

Assert.AreEqual(row["COLUMN_DEFAULT"].ToString(),<br />

"(getdate()),"<br />

"Column has wrong COLUMN_DEFAULT.");<br />

Assert.AreEqual(row["IS_NULLABLE"].ToString(), "NO,"<br />

"Column has wrong IS_NULLABLE.");<br />

Assert.AreEqual(row["CHARACTER_MAXIMUM_LENGTH"],<br />

DBNull.Value,<br />

"Column has wrong CHARACTER_MAXIMUM_LENGTH.");<br />

}<br />

[Test]<br />

public void Constraint_CK_Contact_EmailPromotion()<br />

{<br />

// for simplicity assume we have a<br />

// valid connection already opened.<br />

SqlCommand cmd = new SqlCommand("," conn);<br />

cmd.CommandText = @"SELECT CHECK_CLAUSE<br />

FROM<br />

INFORMATION_SCHEMA.CHECK_CONSTRAINTS<br />

WHERE CONSTRAINT_SCHEMA = 'Person'<br />

AND CONSTRAINT_NAME =<br />

'CK_Contact_EmailPromotion'";<br />

DataSet ds = new DataSet();<br />

ds.Load(cmd.ExecuteReader(),<br />

LoadOption.OverwriteChanges,<br />

"CheckConstraints");<br />

DataRow row = ds.Tables["CheckConstraints"].Rows[0];<br />

Assert.AreEqual(row["CHECK_CLAUSE"].ToString(),<br />

"([EmailPromotion]>=(0) AND [EmailPromotion]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!