public void ShouldDumpRecursiveTypes_CircularReference_Case3()
        {
            // Arrange
            var nestedItemB = new NestedItemB
            {
                Property = 1,
                Next     = null,
            };

            var nestedItemA = new NestedItemA
            {
                Property = 1,
                Next     = nestedItemB,
            };

            nestedItemB.Next = nestedItemA;

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

            // Assert
            this.testOutputHelper.WriteLine(dump);
            dump.Should().NotBeNull();
            dump.Should().Be(
                "var nestedItemA = new NestedItemA\r\n" +
                "{\r\n" +
                "  Next = new NestedItemB\r\n" +
                "  {\r\n" +
                "    Next = null, // Circular reference detected\r\n" +
                "    Property = 1\r\n" +
                "  },\r\n" +
                "  Property = 1\r\n" +
                "};");
        }
        public void ShouldDumpRecursiveTypes_CircularReference_Case2()
        {
            // Arrange
            var nestedItemA = new NestedItemA
            {
                Property = 1,
                Next     = new NestedItemB
                {
                    Property = 1,
                    Next     = null
                }
            };

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

            // Assert
            this.testOutputHelper.WriteLine(dump);
            dump.Should().NotBeNull();
            dump.Should().Be(
                "{NestedItemA}\r\n" +
                "  Next: {NestedItemB}\r\n" +
                "    Next: null\r\n" +
                "    Property: 1\r\n" +
                "  Property: 1");
        }