public async Task ExecutePrivileged()
        {
            var requirements = new RequirementCollection();

            requirements.Require(ObjectName.Parse("sys.tab1"), SqlPrivileges.Insert);

            SqlStatement statement = new TestStatement {
                Requirements = requirements,
                Location     = new LocationInfo(0, 0)
            };

            statement = await statement.PrepareAsync(context);

            await statement.ExecuteAsync(context);
        }
        public async Task ExecuteWithBadprivileges()
        {
            var requirements = new RequirementCollection();

            requirements.Require(ObjectName.Parse("sys.tab1"), SqlPrivileges.Alter);

            SqlStatement statement = new TestStatement {
                Requirements = requirements,
                Location     = new LocationInfo(0, 0)
            };

            statement = await statement.PrepareAsync(context);

            await Assert.ThrowsAnyAsync <UnauthorizedAccessException>(() => statement.ExecuteAsync(context));
        }