public void SqlServerIdentityInsertCalledTwiceAddsCorrectAdditionalFeature()
        {
            var expression = new InsertDataExpression();
            var builder    = new InsertDataExpressionBuilder(expression);

            builder.WithIdentityInsert().WithIdentityInsert();

            expression.AdditionalFeatures.ShouldContain(
                new KeyValuePair <string, object>(SqlServerExtensions.IdentityInsert, true));
        }
        public void PostgresOverridingUserValueCalledTwiceAddsCorrectAdditionalFeature()
        {
            var expression = new InsertDataExpression();
            var builder    = new InsertDataExpressionBuilder(expression);

            builder.WithOverridingUserValue().WithOverridingUserValue();

            expression.AdditionalFeatures.ShouldContain(
                new KeyValuePair <string, object>(
                    PostgresExtensions.OverridingIdentityValues,
                    PostgresOverridingIdentityValuesType.User));
        }
예제 #3
0
        public void RowsGetSetWhenRowIsCalled()
        {
            var expression = new InsertDataExpression();

            var builder = new InsertDataExpressionBuilder(expression);

            builder
            .Row(new { Data1 = "Row1Data1", Data2 = "Row1Data2" })
            .Row(new { Data1 = "Row2Data1", Data2 = "Row2Data2" });

            expression.Rows.Count.ShouldBe(2);
        }
        public void PostgresOverridingIdentityValuesCalledWithDifferentTypeAddsCorrectAdditionalFeature()
        {
            // If both WithOverridingSystemValue() and WithOverridingUserValue() are called on the same expression,
            // then the latest value should be set in the additional features

            var expressionForUserValue = new InsertDataExpression();
            var builderForUserValue    = new InsertDataExpressionBuilder(expressionForUserValue);

            builderForUserValue.WithOverridingSystemValue().WithOverridingUserValue();

            var expressionForSystemValue = new InsertDataExpression();
            var builderForSystemValue    = new InsertDataExpressionBuilder(expressionForSystemValue);

            builderForSystemValue.WithOverridingUserValue().WithOverridingSystemValue();

            expressionForUserValue.AdditionalFeatures.ShouldContain(
                new KeyValuePair <string, object>(
                    PostgresExtensions.OverridingIdentityValues,
                    PostgresOverridingIdentityValuesType.User));
            expressionForSystemValue.AdditionalFeatures.ShouldContain(
                new KeyValuePair <string, object>(
                    PostgresExtensions.OverridingIdentityValues,
                    PostgresOverridingIdentityValuesType.System));
        }