public void CallingOnTableSetsTableNameToSpecifiedValue() { var indexMock = new Mock<IndexDefinition>(); var expressionMock = new Mock<CreateIndexExpression>(); expressionMock.SetupGet(e => e.Index).Returns(indexMock.Object); var builder = new CreateIndexExpressionBuilder(expressionMock.Object); builder.OnTable("Bacon"); indexMock.VerifySet(x => x.TableName = "Bacon"); expressionMock.VerifyGet(e => e.Index); }
public void CallingOnTableSetsTableNameToSpecifiedValue() { var indexMock = new Mock <IndexDefinition>(); var expressionMock = new Mock <CreateIndexExpression>(); expressionMock.SetupGet(e => e.Index).Returns(indexMock.Object); var builder = new CreateIndexExpressionBuilder(expressionMock.Object); builder.OnTable("Bacon"); indexMock.VerifySet(x => x.TableName = "Bacon"); expressionMock.VerifyGet(e => e.Index); }
public void CanCreateUniqueIndexWithNonDistinctNullsAlternativeSyntax() { var expression = new CreateIndexExpression() { Index = { Name = GeneratorTestHelper.TestIndexName, } }; var builder = new CreateIndexExpressionBuilder(expression); builder .OnTable(GeneratorTestHelper.TestTableName1) .OnColumn(GeneratorTestHelper.TestColumnName1) .Unique().NullsNotDistinct(); var result = _generator.Generate(expression); result.ShouldBe("CREATE UNIQUE INDEX [TestIndex] ON [dbo].[TestTable1] ([TestColumn1] ASC) WHERE [TestColumn1] IS NOT NULL"); }
public void CanCreateUniqueIndexWithDistinctNulls() { var expression = new CreateIndexExpression() { Index = { Name = GeneratorTestHelper.TestIndexName, } }; var builder = new CreateIndexExpressionBuilder(expression); builder .OnTable(GeneratorTestHelper.TestTableName1) .OnColumn(GeneratorTestHelper.TestColumnName1) .Ascending() .WithOptions().UniqueNullsDistinct(); var result = Generator.Generate(expression); result.ShouldBe("CREATE UNIQUE INDEX [TestIndex] ON [dbo].[TestTable1] ([TestColumn1] ASC) WITH NULLS DISTINCT"); }
public void CanCreateMultiColumnUniqueIndexWithNonDistinctNullsWithSingleColumnNullsDistinct() { var expression = new CreateIndexExpression() { Index = { Name = GeneratorTestHelper.TestIndexName, } }; var builder = new CreateIndexExpressionBuilder(expression); builder .OnTable(GeneratorTestHelper.TestTableName1) .OnColumn(GeneratorTestHelper.TestColumnName1).Ascending().NullsDistinct() .OnColumn(GeneratorTestHelper.TestColumnName2).Descending() .WithOptions().UniqueNullsNotDistinct(); var result = _generator.Generate(expression); result.ShouldBe("CREATE UNIQUE INDEX [TestIndex] ON [dbo].[TestTable1] ([TestColumn1] ASC, [TestColumn2] DESC) WHERE [TestColumn2] IS NOT NULL"); }