Example #1
0
        public void It_accepts_a_custom_empty_value()
        {
            var builder = new DelimitedStringBuilder<int>
            {
                EmptyValue = "-empty-"
            };

            var value = builder
                .ToString();

            Assert.AreEqual("-empty-", value);
        }
Example #2
0
        public void It_can_be_used_to_create_SQL_statements()
        {
            var andBuilder = new DelimitedStringBuilder<object>
            {
                Separator = " AND ",
                Prefix = "(",
                Suffix = ")",
            };

            var orBuilder = new DelimitedStringBuilder<string>
            {
                Separator = " OR ",
                Prefix = "(",
                Suffix = ")",
            };

            andBuilder.Append("a = 1").Append("b = 2");
            orBuilder.Append("c = 3").Append("d = 4");
            andBuilder.Append(orBuilder);

            var whereClause = andBuilder.ToString();

            Assert.AreEqual("(a = 1) AND (b = 2) AND ((c = 3) OR (d = 4))", whereClause);
        }
Example #3
0
        public void It_skips_nested_builders_that_are_empty()
        {
            var andBuilder = new DelimitedStringBuilder<object>
            {
                Separator = " AND ",
                Prefix = "(",
                Suffix = ")",
            };

            var orBuilder = new DelimitedStringBuilder<string>
            {
                Separator = " OR ",
                Prefix = "(",
                Suffix = ")",
            };

            andBuilder.Append("a = 1").Append("b = 2");
            andBuilder.Append(orBuilder);

            var whereClause = andBuilder.ToString();

            Assert.AreEqual("(a = 1) AND (b = 2)", whereClause);
        }
Example #4
0
        public void It_returns_the_empty_string_when_no_items_are_added()
        {
            var builder = new DelimitedStringBuilder<int>();

            var value = builder
                .ToString();

            Assert.AreEqual("", value);
        }
Example #5
0
        public void It_has_a_ToString_overload_that_uses_the_specified_items()
        {
            var builder = new DelimitedStringBuilder<int>
                              {
                                  Separator = "|"
                              };

            var value = builder.ToString(new List<int> { 1, 2, 3 });

            Assert.AreEqual("1|2|3", value);
        }