public void Format_NullError_ReturnsEmptyString()
        {
            // Arrange & Act.
            PSResourceManagerError error = null;

            // Act.
            string result = PSResourceManagerErrorFormatter.Format(error);

            // Assert.
            result.Should().Be(string.Empty);
        }
        public void Format_NestedErrors_ReturnsFlattenedErrorString()
        {
            // Arrange & Act.
            PSResourceManagerError error = new PSResourceManagerError
            {
                Code    = "TopLevelError",
                Message = "Top level error message.",
                Details = new List <PSResourceManagerError>
                {
                    new PSResourceManagerError
                    {
                        Code    = "SecondLevelError",
                        Message = "Second level error message.",
                        Details = new List <PSResourceManagerError>
                        {
                            new PSResourceManagerError
                            {
                                Code    = "ThirdLevelError",
                                Message = "Third level error message."
                            }
                        }
                    },
                    new PSResourceManagerError
                    {
                        Code    = "AnotherSecondLevelError",
                        Message = "Another second level error message."
                    }
                }
            };

            // Act.
            string result = PSResourceManagerErrorFormatter.Format(error);

            // Assert.
            result.Should().Be(@"TopLevelError - Top level error message.
SecondLevelError - Second level error message.
ThirdLevelError - Third level error message.
AnotherSecondLevelError - Another second level error message.".Replace("\r\n", Environment.NewLine));
        }