public static string FieldsToString(this object obj, bool skipNulls = false)
 {
     return(ToStringHelper.Of(obj)
            .AddFields()
            .SkipNulls(skipNulls)
            .ToString());
 }
Beispiel #2
0
 /// <summary>
 /// Generate toString implementation using object properties and fields.
 /// </summary>
 /// <param name="source">this</param>
 /// <param name="skipNulls">true if null properties should be excluded, false by default</param>
 /// <returns>toString</returns>
 public static string MembersToString(this object source, bool skipNulls = false)
 {
     Preconditions.IsNotNull(source, () => new ArgumentNullException("source"));
     return(ToStringHelper.Of(source)
            .AddMembers()
            .SkipNulls(skipNulls)
            .ToString());
 }
        public void ShouldBuildToStringFromFields()
        {
            // given
            var obj = new TestObj2(age: 30, surname: "Testowski", data: Lists.AsList("A", "B", "C"));

            // when
            var toString = ToStringHelper.Of(obj)
                           .AddFields()
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj2 {age:30, surname:Testowski, data:[A, B, C]}");
        }
        public void ShouldBuildToStringFromFieldsWithoutNulls()
        {
            // given
            var obj = new TestObj2(age: 30, surname: null, data: null);

            // when
            var toString = ToStringHelper.Of(obj)
                           .AddFields()
                           .SkipNulls()
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj2 {age:30}");
        }
        public void ShouldBuildToStringFromMembers()
        {
            // given
            var obj = new TestObj3(id: 4, name: "TEST", values: null, age: 123, data: Lists.Singleton("X"),
                                   surname: "Zdzislawski", flag: BindingFlags.DeclaredOnly, objects: Lists.EmptyList <TestObj>());

            // when
            var toString = ToStringHelper.Of(obj)
                           .AddMembers()
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj3 {Name:TEST, Id:4, Objects:[], Values:null, Flag:DeclaredOnly, Duration:null, age:123, surname:Zdzislawski, data:[X]}");
        }
        public void ShouldBuildToStringFromMembersWithoutNulls()
        {
            // given
            var obj = new TestObj3(id: 4, name: "TEST", values: null, age: 123, data: Lists.Singleton("X"),
                                   surname: null, flag: BindingFlags.DeclaredOnly, objects: null);

            // when
            var toString = ToStringHelper.Of(obj)
                           .AddMembers()
                           .SkipNulls()
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj3 {Name:TEST, Id:4, Flag:DeclaredOnly, age:123, data:[X]}");
        }
        public void ShouldGenerateToStringOfObject()
        {
            // given
            var listObject1 = new TestObj
            {
                Id   = 3,
                Name = "listObject1"
            };
            var listObject2 = new TestObj
            {
                Id      = 100,
                Objects = Lists.Singleton(listObject1)
            };
            var obj = new TestObj
            {
                Id       = 1,
                Name     = "Test",
                Flag     = BindingFlags.CreateInstance,
                Objects  = Lists.AsList(listObject1, listObject2),
                Duration = TimeSpan.FromSeconds(5)
            };
            var helper = ToStringHelper.Of(obj)
                         .AddProperties()
                         .SkipNulls()
                         .GenerateToStringOfProperties();

            // when
            var toString = helper.ToString();

            const string expected =
                "TestObj {" +
                "Name:Test, " +
                "Id:1, " +
                "Objects:[" +
                "TestObj {Name:listObject1, Id:3, Flag:Default}, " +
                "TestObj {Id:100, Objects:[" +
                "TestObj {Name:listObject1, Id:3, Flag:Default}" +
                "], " +
                "Flag:Default}" +
                "], " +
                "Flag:CreateInstance, " +
                "Duration:00:00:05}";

            Check.That(toString).IsEqualTo(expected);
        }
        public void ShouldBuildToStringFromProperties()
        {
            // given
            var obj = new TestObj
            {
                Id     = 1,
                Name   = "Test",
                Values = Lists.AsList(1, 2, 3)
            };

            // when
            var toString = ToStringHelper.Of(obj)
                           .AddProperties()
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj {Name:Test, Id:1, Objects:null, Values:[1, 2, 3], Flag:Default, Duration:null}");
        }
        public void ShouldBuildToString()
        {
            // given
            var obj = new TestObj
            {
                Id     = 1,
                Name   = "Test",
                Values = Lists.AsList(1, 2, 3)
            };

            // when
            var toString = ToStringHelper.Of(obj)
                           .Add("Id", obj.Id)
                           .Add("Name", obj.Name)
                           .Add("Values", obj.Values)
                           .ToString();

            // then
            Check.That(toString).IsEqualTo("TestObj {Id:1, Name:Test, Values:[1, 2, 3]}");
        }