public static void Name_PropertyGet_EqualsCtorArg() { Identifier checkName = "test_check"; var check = new PostgreSqlCheckConstraint(checkName, "test_check"); Assert.That(check.Name.UnwrapSome(), Is.EqualTo(checkName)); }
public static void Definition_PropertyGet_EqualsCtorArg() { const string checkDefinition = "test_check_definition"; var check = new PostgreSqlCheckConstraint("test_check", checkDefinition); Assert.That(check.Definition, Is.EqualTo(checkDefinition)); }
public static void ToString_WhenInvoked_ReturnsExpectedValues(string name, string expectedResult) { var checkName = Identifier.CreateQualifiedIdentifier(name); var check = new PostgreSqlCheckConstraint(checkName, "test_check_definition"); var result = check.ToString(); Assert.That(result, Is.EqualTo(expectedResult)); }
/// <summary> /// Retrieves check constraints defined on a given table. /// </summary> /// <param name="tableName">A table name.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>A collection of check constraints.</returns> protected override async Task <IReadOnlyCollection <IDatabaseCheckConstraint> > LoadChecksAsync(Identifier tableName, CancellationToken cancellationToken) { var checks = await DbConnection.QueryAsync <CheckConstraintData>( ChecksQuery, new { SchemaName = tableName.Schema, TableName = tableName.LocalName }, cancellationToken ).ConfigureAwait(false); if (checks.Empty()) { return(Array.Empty <IDatabaseCheckConstraint>()); } const string checkPrefix = "CHECK ("; const string checkSuffix = ")"; var result = new List <IDatabaseCheckConstraint>(); foreach (var checkRow in checks) { var definition = checkRow.Definition; if (definition.IsNullOrWhiteSpace()) { continue; } if (definition.StartsWith(checkPrefix, StringComparison.OrdinalIgnoreCase)) { definition = definition.Substring(checkPrefix.Length); } if (definition.EndsWith(checkSuffix, StringComparison.Ordinal) && definition.Length > 0) { definition = definition.Substring(0, definition.Length - checkSuffix.Length); } var constraintName = Identifier.CreateQualifiedIdentifier(checkRow.ConstraintName); var check = new PostgreSqlCheckConstraint(constraintName, definition); result.Add(check); } return(result); }
public static void IsEnabled_PropertyGet_ReturnsTrue() { var check = new PostgreSqlCheckConstraint("test_check", "test_check_definition"); Assert.That(check.IsEnabled, Is.True); }