예제 #1
0
        public void HasTheParameterWithTheSameName_OverwritesIt()
        {
            // arrange
            var sut = new SqlClause();


            var parameter = new SqlParameter {
                ParameterName = "@name"
            };
            var parameter2 = new SqlParameter {
                ParameterName = "@name"
            };

            sut.Add(parameter);

            var clause = new SqlClause();

            clause.Add(parameter2);


            // act
            sut.Add(clause);
            var result = sut.GetParameters();


            // arrange
            result.Should().Equal(parameter2);
        }
예제 #2
0
        public void ToNotEmptyClause_AddingNotEmptyClause_ReturnsCorrectParametersList()
        {
            // arrange
            var sut = new SqlClause();


            var parameter = new SqlParameter {
                ParameterName = "@name"
            };
            var parameter2 = new SqlParameter {
                ParameterName = "@name2"
            };

            sut.Add(parameter);

            var clause = new SqlClause();

            clause.Add(parameter2);


            // act
            sut.Add(clause);
            var result = sut.GetParameters();


            // arrange
            result.Should().Equal(parameter, parameter2);
        }
예제 #3
0
        public void GetParameters_WithKey_NoParameterWithTheSameKey_WithOverwrite_AddsTheParameter()
        {
            // arrange
            var sut = new SqlClause();

            var parameter = new SqlParameter {
                ParameterName = "@test"
            };

            sut.Add("key", "a");
            sut.Add(parameter);

            var parameter2 = new SqlParameter {
                ParameterName = "@test2"
            };


            // act
            sut.Add("key", "b", parameter2, overwrite: true);

            var result = sut.GetParameters();


            // arrange
            result.Should().Equal(parameter, parameter2);
        }
예제 #4
0
        public void GetParameters_NoParameters_ReturnsEmptyList()
        {
            // arrange
            var sut = new SqlClause();


            // act
            var result = sut.GetParameters();


            // arrange
            result.Should().BeEmpty();
        }
예제 #5
0
        public void ToEmptyClause_AddingEmptyClause_ReturnsEmptyParametersList()
        {
            // arrange
            var sut = new SqlClause();

            var clause = new SqlClause();


            // act
            sut.Add(clause);
            var result = sut.GetParameters();


            // arrange
            result.Should().BeEmpty();
        }
        public void AddPredicate_Null_AddsSqlAndParameters()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddPredicate("Id", " ? ", null);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be(string.Empty);
            parameters.Should().BeEmpty();
        }
        public void AddNotBetween_BothParametersAreNull_AddsNothing()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddNotBetween("Id", null, null);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be(string.Empty);
            parameters.Should().BeEmpty();
        }
        public void AddNotIn_Null_AddsNothing()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddNotIn("Id", (IEnumerable <IDbDataParameter>)null);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be(string.Empty);
            parameters.Should().BeEmpty();
        }
        public void AddExists_Null_AddsNothing()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddExists(null);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be(string.Empty);
            parameters.Should().BeEmpty();
        }
        public void AddIsNotNull_ByDefault_AddsCorrectPredicate()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddIsNotNull("Id");
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id is not null");
            parameters.Should().BeEmpty();
        }
        public void AddNotIn_NoParameters_AddsNothing()
        {
            // arrange
            var sut = new SqlClause();


            // act
            sut.AddNotIn("Id");
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be(string.Empty);
            parameters.Should().BeEmpty();
        }
예제 #12
0
        public void GetParameters_OneParameter_ReturnsCorrectList()
        {
            // arrange
            var sut = new SqlClause();

            var parameter = new SqlParameter {
                ParameterName = "@test"
            };

            sut.Add(parameter);


            // act
            var result = sut.GetParameters();


            // arrange
            result.Should().Equal(parameter);
        }
        public void AddNotEquals_ByDefault_AddsCorrectPredicate()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };


            // act
            sut.AddNotEquals("Id", parameter);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id <> @x");
            parameters.Should().Equal(parameter);
        }
        public void AddNotIn_OneParameter_AddsCorrectPredicate()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };


            // act
            sut.AddNotIn("Id", new[] { parameter }.Select(x => x));
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id <> @x");
            parameters.Should().Equal(parameter);
        }
예제 #15
0
        public void GetParameters_ToEmptyClause_ReturnsCorrectParametersList()
        {
            // arrange
            var sut = new SqlClause();

            var parameter = new SqlParameter {
                ParameterName = "@test"
            };


            // act
            sut.Add("a", parameter);

            var result = sut.GetParameters();


            // arrange
            result.Should().Equal(parameter);
        }
        public void AddNotBetween_TheSecondParameterIsNull_AddsNothing()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };


            // act
            sut.AddNotBetween("Id", parameter, null);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id < @x");
            parameters.Should().Equal(parameter);
        }
        public void AddNotBetween_TheFirstParameterIsNull_AddsNothing()
        {
            // arrange
            var sut        = new SqlClause();
            var parameter2 = new SqlParameter {
                ParameterName = "@x2"
            };


            // act
            sut.AddNotBetween("Id", null, parameter2);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id > @x2");
            parameters.Should().Equal(parameter2);
        }
예제 #18
0
        public void GetParameters_WithKey_HasExpressionWithTheSameKey_ByDefault_AddsNothing()
        {
            // arrange
            var sut = new SqlClause();

            sut.Add("key", "a");

            var parameter = new SqlParameter {
                ParameterName = "@test"
            };


            // act
            sut.Add("key", "b", parameter);

            var result = sut.GetParameters();


            // arrange
            result.Should().BeEmpty();
        }
        public void AddNotIn_TwoParameters_AddsCorrectPredicate()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };
            var parameter2 = new SqlParameter {
                ParameterName = "@x2"
            };


            // act
            sut.AddNotIn("Id", parameter, parameter2);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id not in (@x, @x2)");
            parameters.Should().Equal(parameter, parameter2);
        }
        public void AddNotBetween_ByDefault_AddsCorrectPredicate()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };
            var parameter2 = new SqlParameter {
                ParameterName = "@x2"
            };


            // act
            sut.AddNotBetween("Id", parameter, parameter2);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("Id not between @x and @x2");
            parameters.Should().Equal(parameter, parameter2);
        }
        public void AddNotExists_ByDefault_AddsCorrectPredicate()
        {
            // arrange
            var sut       = new SqlClause();
            var parameter = new SqlParameter {
                ParameterName = "@x"
            };

            var clause = new SqlClause("select * from Table2");

            clause.Add(parameter);


            // act
            sut.AddNotExists(clause);
            var sql        = sut.GetSql();
            var parameters = sut.GetParameters();


            // assert
            sql.Should().Be("not exists (select * from Table2)");
            parameters.Should().Equal(parameter);
        }