Пример #1
0
        public void ThrowExceptionIfTheTargetFieldsAreNull()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionIfTheTargetFieldsAreNullClass>();

            // Act/Assert
            statementBuilder.CreateInlineUpdate(queryBuilder, null, null);
        }
        public void ThrowExceptionAtInlineUpdateIfFieldsAreNull()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionAtInlineUpdateIfFieldsAreNullClass>();

            // Act/Assert
            Assert.Throws <NullReferenceException>(() => statementBuilder.CreateInlineUpdate(queryBuilder, null, null));
        }
Пример #3
0
        public void ThrowExceptionIfTheIdentityFieldIsNotThePrimaryField()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionIfTheIdentityFieldIsNotThePrimaryFieldClass>();
            var fields           = Field.From(new[] { "Field1" });

            // Act/Assert
            statementBuilder.CreateInlineUpdate(queryBuilder, fields, null);
        }
Пример #4
0
        public void ThrowExceptionIfTheTargetFieldIsAnIdentity()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionIfTheTargetFieldIsAnIdentityClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" });

            // Act/Assert
            statementBuilder.CreateInlineUpdate(queryBuilder, fields, null);
        }
        public void ThrowExceptionAtInlineUpdateIfFieldMappingIsDifferentAtDataEntity()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionAtInlineUpdateIfFieldMappingIsDifferentAtDataEntityClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" });

            // Act/Assert
            Assert.Throws <InvalidOperationException>(() => statementBuilder.CreateInlineUpdate(queryBuilder, fields, null));
        }
Пример #6
0
        public void ThrowExceptionIfTheTargetFieldIsTheId()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <ThrowExceptionIfTheTargetFieldIsTheIdClass>();
            var fields           = Field.From(new[] { "Id", "Field2", "Field3" });

            // Act/Assert
            Assert.Throws <InvalidOperationException>(() => statementBuilder.CreateInlineUpdate(queryBuilder, fields, null));
        }
Пример #7
0
        public void TestWithFieldMappings()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestWithFieldMappingsClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field4" });

            // Act
            var actual   = statementBuilder.CreateInlineUpdate(queryBuilder, fields, null);
            var expected = $"" +
                           $"UPDATE [ClassName] " +
                           $"SET [Field1] = @Field1, " +
                           $"[Field2] = @Field2, " +
                           $"[Field4] = @Field4 ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #8
0
        public void TestOverrideIgnoreForUpdate()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestOverrideIgnoreForUpdateClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" });
            var expression       = new { Field1 = 1 };
            var queryGroup       = QueryGroup.Parse(expression);

            // Act
            var actual   = statementBuilder.CreateInlineUpdate(queryBuilder, fields, queryGroup, true);
            var expected = $"" +
                           $"UPDATE [TestOverrideIgnoreForUpdateClass] " +
                           $"SET [Field1] = @Field1, " +
                           $"[Field2] = @Field2, " +
                           $"[Field3] = @Field3 " +
                           $"WHERE ([Field1] = @_Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void TestCreateInlineUpdateWithFieldMappingsAndExpressions()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestCreateInlineUpdateWithFieldMappingsAndExpressionsClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field4" });
            var expression       = new { Field1 = 1 };

            // Act
            var queryGroup = QueryGroup.Parse(expression);
            var actual     = statementBuilder.CreateInlineUpdate(queryBuilder, fields, queryGroup);
            var expected   = $"" +
                             $"UPDATE [TestCreateInlineUpdateWithFieldMappingsAndExpressionsClass] " +
                             $"SET [Field1] = @Field1, " +
                             $"[Field2] = @Field2, " +
                             $"[Field4] = @Field4 " +
                             $"WHERE ([Field1] = @_Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }