Beispiel #1
0
    public ValueTask <bool> IsMetAsync()
    {
        var isMet = true;

        if (Conditions.HasFlag(SqlServerCondition.SupportsHiddenColumns))
        {
            isMet &= TestEnvironment.IsHiddenColumnsSupported;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsMemoryOptimized))
        {
            isMet &= TestEnvironment.IsMemoryOptimizedTablesSupported;
        }

        if (Conditions.HasFlag(SqlServerCondition.IsSqlAzure))
        {
            isMet &= TestEnvironment.IsSqlAzure;
        }

        if (Conditions.HasFlag(SqlServerCondition.IsNotSqlAzure))
        {
            isMet &= !TestEnvironment.IsSqlAzure;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsAttach))
        {
            var defaultConnection = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection);
            isMet &= defaultConnection.DataSource.Contains("(localdb)", StringComparison.OrdinalIgnoreCase) ||
                     defaultConnection.UserInstance;
        }

        if (Conditions.HasFlag(SqlServerCondition.IsNotCI))
        {
            isMet &= !TestEnvironment.IsCI;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsFullTextSearch))
        {
            isMet &= TestEnvironment.IsFullTextSearchSupported;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsOnlineIndexes))
        {
            isMet &= TestEnvironment.IsOnlineIndexingSupported;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsTemporalTablesCascadeDelete))
        {
            isMet &= TestEnvironment.IsTemporalTablesCascadeDeleteSupported;
        }

        if (Conditions.HasFlag(SqlServerCondition.SupportsUtf8))
        {
            isMet &= TestEnvironment.IsUtf8Supported;
        }

        return(new ValueTask <bool>(isMet));
    }
        public ValueTask <bool> IsMetAsync()
        {
            var isMet = true;

            if (Conditions.HasFlag(SqlServerCondition.SupportsSequences))
            {
                isMet &= TestEnvironment.GetFlag(nameof(SqlServerCondition.SupportsSequences)) ?? true;
            }

            if (Conditions.HasFlag(SqlServerCondition.SupportsOffset))
            {
                isMet &= TestEnvironment.GetFlag(nameof(SqlServerCondition.SupportsOffset)) ?? true;
            }

            if (Conditions.HasFlag(SqlServerCondition.SupportsHiddenColumns))
            {
                isMet &= TestEnvironment.GetFlag(nameof(SqlServerCondition.SupportsHiddenColumns)) ?? false;
            }

            if (Conditions.HasFlag(SqlServerCondition.SupportsMemoryOptimized))
            {
                isMet &= TestEnvironment.GetFlag(nameof(SqlServerCondition.SupportsMemoryOptimized)) ?? false;
            }

            if (Conditions.HasFlag(SqlServerCondition.IsSqlAzure))
            {
                isMet &= TestEnvironment.IsSqlAzure;
            }

            if (Conditions.HasFlag(SqlServerCondition.IsNotSqlAzure))
            {
                isMet &= !TestEnvironment.IsSqlAzure;
            }

            if (Conditions.HasFlag(SqlServerCondition.SupportsAttach))
            {
                var defaultConnection = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection);
                isMet &= defaultConnection.DataSource.Contains("(localdb)") ||
                         defaultConnection.UserInstance;
            }

            if (Conditions.HasFlag(SqlServerCondition.IsNotCI))
            {
                isMet &= !TestEnvironment.IsCI;
            }

            if (Conditions.HasFlag(SqlServerCondition.SupportsFullTextSearch))
            {
                isMet &= TestEnvironment.IsFullTestSearchSupported;
            }

            return(new ValueTask <bool>(isMet));
        }