Beispiel #1
0
        public void JoinSegments_WhenCalled_ReturnUnifiedUrlWithTrimmedSlashes(string expected, params string[] segments)
        {
            //Act
            var result = UriX.JoinSegments(segments);

            //Assert
            result.Should().Be(expected);
        }
Beispiel #2
0
        public void JoinSegments_SegmentsIsNull_ThrowArgumentNullException()
        {
            //Act
            Action action = () => UriX.JoinSegments(segments: null);

            //Assert
            action.Should().ThrowExactly <ArgumentNullException>();
        }
Beispiel #3
0
        public void Build_ParametersIsNull_ThrowArgumentNullException()
        {
            //Arrange
            const string baseUrl = "https://example.com/";
            IDictionary <string, string> parameters = null;

            //Act
            Action action = () => UriX.Build(baseUrl, parameters);

            //Assert
            action.Should().ThrowExactly <ArgumentNullException>();
        }
Beispiel #4
0
        public void Build_BaseUrlIsNullOrWhiteSpace_ThrowArgumentNullException()
        {
            //Arrange
            const string baseUrl    = null;
            var          parameters = new Dictionary <string, string>
            {
                { "name", "efthymios" },
                { "color", "black" }
            };

            //Act
            Action action = () => UriX.Build(baseUrl, parameters);

            //Assert
            action.Should().ThrowExactly <ArgumentNullException>();
        }
Beispiel #5
0
        public void Build_WhenCalled_ReturnQueryString()
        {
            //Arrange
            const string baseUrl    = "https://example.com/";
            var          parameters = new Dictionary <string, object>
            {
                { "name", "Efthymios Koktsidis" },
                { "count", 10 }
            };
            const string expected = "https://example.com/?name=Efthymios%20Koktsidis&count=10";

            //Act
            var result = UriX.Build(baseUrl, parameters);

            //Assert
            result.Should().Be(expected);
        }
        /// <summary>
        /// Get <see cref="Uri.Fragment"/> parameters.
        /// </summary>
        public static IDictionary <string, string> GetFragmentParameters(this Uri uri)
        {
            _ = uri ?? throw new ArgumentNullException(nameof(uri));

            return(UriX.GetParameters(uri.Fragment.TrimStart('#')));
        }
        /// <summary>
        /// Get <see cref="Uri.Query"/> parameters.
        /// </summary>
        public static IDictionary <string, string> GetQueryParameters(this Uri uri)
        {
            _ = uri ?? throw new ArgumentNullException(nameof(uri));

            return(UriX.GetParameters(uri.Query));
        }