public void ShouldDumpRecursiveTypes_RecursivePerson()
        {
            // Arrange
            var person = new RecursivePerson();

            person.Parent = person;

            // Act
            var dump = ObjectDumperCSharp.Dump(person);

            // Assert
            this.testOutputHelper.WriteLine(dump);
            dump.Should().NotBeNull();
            dump.Should().Be("var recursivePerson = new RecursivePerson\r\n{\r\n};");
        }
Example #2
0
        public void ShouldDumpRecursiveTypes_RecursivePerson()
        {
            // Arrange
            var person = new RecursivePerson();

            person.Parent = person;

            // Act
            var dump = ObjectDumperConsole.Dump(person);

            // Assert
            this.testOutputHelper.WriteLine(dump);
            dump.Should().NotBeNull();
            dump.Should().Be("{ObjectDumping.Tests.Testdata.RecursivePerson}\r\n  Parent: { }\r\n    {ObjectDumping.Tests.Testdata.RecursivePerson} <-- bidirectional reference found\r\n");
        }
        public void ShouldDumpRecursiveTypes_CircularReference_Case1()
        {
            // Arrange
            var person = new RecursivePerson();

            person.Parent = person;

            var dumpOptions = new DumpOptions
            {
                IgnoreDefaultValues = false
            };

            // Act
            var dump = ObjectDumperConsole.Dump(person, dumpOptions);

            // Assert
            this.testOutputHelper.WriteLine(dump);
            dump.Should().NotBeNull();
            dump.Should().Be(
                "{RecursivePerson}\r\n" +
                "  Id: 0\r\n" +
                "  Parent: null --> Circular reference detected");
        }