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 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();
        }
        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);
        }
        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);
        }