public void FromError()
        {
            // arrange
            IError error = new Error {
                Message = "123"
            };

            // act
            ErrorBuilder builder = ErrorBuilder.FromError(error);

            error = builder.Build();

            // assert
            Assert.Equal("123", error.Message);
        }
        public void FromError_WithLocations()
        {
            // arrange
            IError error = new Error
            {
                Message   = "123",
                Locations = ImmutableList <Location>
                            .Empty
                            .Add(new Location(1, 2))
            };

            // act
            ErrorBuilder builder = ErrorBuilder.FromError(error);

            error = builder.Build();

            // assert
            Assert.Equal("123", error.Message);
            Assert.Collection(error.Locations,
                              t => Assert.Equal(1, t.Line));
        }
        public void FromError_WithExtensions()
        {
            // arrange
            IError error = new Error
            {
                Message    = "123",
                Extensions = ImmutableDictionary <string, object>
                             .Empty
                             .Add("foo", "bar")
            };

            // act
            ErrorBuilder builder = ErrorBuilder.FromError(error);

            error = builder.Build();

            // assert
            Assert.Equal("123", error.Message);
            Assert.Collection(error.Extensions,
                              t => Assert.Equal("bar", t.Value));
        }