public void JoinSegments_WhenCalled_ReturnUnifiedUrlWithTrimmedSlashes(string expected, params string[] segments) { //Act var result = UriX.JoinSegments(segments); //Assert result.Should().Be(expected); }
public void JoinSegments_SegmentsIsNull_ThrowArgumentNullException() { //Act Action action = () => UriX.JoinSegments(segments: null); //Assert action.Should().ThrowExactly <ArgumentNullException>(); }
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>(); }
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>(); }
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)); }