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); }
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); }
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); }
public void GetSql_NoPrefix_NoSuffix_NoSeparator_TwoExpressions_ReturnsCorrectSql() { // arrange var sut = new SqlClause(); sut.Add("a"); sut.Add("b"); // act var result = sut.GetSql(); // arrange result.Should().Be("ab"); }
public void AddKeyed_WithPreviousExpressionWithTheSameKey_WithOverwrite_OverwritesTheExpression() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); // act sut.Add("key", "b", overwrite: true); var result = sut.GetSql(); // arrange result.Should().Be("b"); }
public void AddKeyed_WithPreviousExpressionWithTheSameKey_ByDefault_AddsNothing() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); // act sut.Add("key", "b"); var result = sut.GetSql(); // arrange result.Should().Be("a"); }
public void ToString_WithDateParameter_ReplacesParameterWithItsValue() { // arrange var sut = new SqlClause(); var date = new DateTime(2000, 1, 2, 3, 4, 5); sut.Add("@p1 @p2 @p3", new SqlParameter { ParameterName = "@p1", SqlDbType = SqlDbType.DateTime, Value = date }, new SqlParameter { ParameterName = "@p2", SqlDbType = SqlDbType.Date, Value = (DateTime?)date }, new SqlParameter { ParameterName = "@p3", SqlDbType = SqlDbType.Time, Value = (DateTime?)date }); // act var result = sut.ToString(); // arrange result.Should().Be("'2000-01-02 03:04:05' " + "'2000-01-02' " + "'03:04:05'"); }
public void ToString_WithPrefix_WithSuffix_WithSeparator_TwoExpressions_ReturnsCorrectSql() { // arrange var sut = new SqlClause(); sut.Prefix = "prefix "; sut.ExpressionsSeparator = " and "; sut.Suffix = " suffix"; sut.Add("a"); sut.Add("b"); // act var result = sut.ToString(); // arrange result.Should().Be("prefix a and b suffix"); }
public void ToNotEmptyClause_AddingNotEmptyClause_ReturnsCorrectSql() { // arrange var sut = new SqlClause(); sut.Add("a"); var clause = new SqlClause(); clause.Add("b"); // act sut.Add(clause); var result = sut.GetSql(); // arrange result.Should().Be("ab"); }
public void WithKey_HasExpressionWithTheSameKey_ByDefault_AddsNothing() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); var clause = new SqlClause(); clause.Add("b"); // act sut.Add("key", clause); var result = sut.GetSql(); // arrange result.Should().Be("a"); }
public void WithKey_HasExpressionWithTheSameKey_WithOverwrite_OverwritesTheExpression() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); var clause = new SqlClause(); clause.Add("b"); // act sut.Add("key", clause, overwrite: true); var result = sut.GetSql(); // arrange result.Should().Be("b"); }
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 GetSql_WithKey_HasExpressionWithTheSameKey_WithOverwrite_OverwritesTheExpression() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); var parameter = new SqlParameter { ParameterName = "@test" }; // act sut.Add("key", "b", parameter, overwrite: true); var result = sut.GetSql(); // arrange result.Should().Be("b"); }
public void ContainsExpressions_OneExpression_ReturnsTrue() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); // act var result = sut.ContainsExpression("key"); // arrange result.Should().BeTrue(); }
public void AddKeyed_NoPreviousExpressions_ReturnsCorrectSql() { // arrange var sut = new SqlClause(); sut.Add("key", "a"); // act var result = sut.GetSql(); // arrange result.Should().Be("a"); }
public void ToString_WithObjectParameter_ReplacesParameterWithItsToStringRepresentation() { // arrange var sut = new SqlClause(); sut.Add("@p", new SqlParameter("@p", new { x = 1 })); // act var result = sut.ToString(); // arrange result.Should().Be("'{ x = 1 }'"); }
public void ContainsExpressions_HasNotKeyedExpression_ReturnsFalse() { // arrange var sut = new SqlClause(); sut.Add("a"); // act var result = sut.ContainsExpression("key"); // arrange result.Should().BeFalse(); }
public void ToEmptyClause_AddingEmptyClause_ReturnsEmptyString() { // arrange var sut = new SqlClause(); var clause = new SqlClause(); // act sut.Add(clause); var result = sut.GetSql(); // arrange result.Should().BeEmpty(); }
public void GetParameters_OneParameter_NoName_Throws() { // arrange var sut = new SqlClause(); var parameter = new SqlParameter(); // act Action action = () => sut.Add(parameter); // arrange action.Should().Throw <ArgumentNullException> () .And.ParamName.Should().Be("parameter.ParameterName"); }
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 ContainsParameters_OneParameter_ReturnsTrue() { // arrange var sut = new SqlClause(); var parameter = new SqlParameter { ParameterName = "@test" }; sut.Add(parameter); // act var result = sut.ContainsParameter("@test"); // arrange result.Should().BeTrue(); }
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 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 ToString_WithParameter_ReplacesParameterWithItsValue(object value, Type type, string expected) { // arrange if (value != null) { value = Convert.ChangeType(value, type); } var sut = new SqlClause(); sut.Add("@p", new SqlParameter("@p", value)); // act var result = sut.ToString(); // arrange result.Should().Be(expected); }
public void AddNotExists_WhereClause_AddsCorrectPredicate() { // arrange var sut = SqlClauseBuilder.Where(); 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().BeEquivalentToSql("where (not exists (select * from Table2))"); parameters.Should().Equal(parameter); }
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); }