public void ForeignKeyViolation()
{
TestQuery.Insert(new ObjectName("b"), new SqlExpression[] {SqlExpression.Constant(1), SqlExpression.Constant(2)});
var expected = Is.InstanceOf<ConstraintViolationException>()
.And.TypeOf(typeof(ForeignKeyViolationException))
.And.Property("TableName").EqualTo(ObjectName.Parse("APP.b"))
.And.Property("ColumnNames").EqualTo(new[] {"other_id"})
.And.Property("LinkedTableName").EqualTo(ObjectName.Parse("APP.a"))
.And.Property("LinkedColumnNames").EqualTo(new[] {"id"});
Assert.Throws(expected, () => TestQuery.Commit());
}