Example #1
0
        public void MakeUriAbsoluteVisitor_CombineUriValidatesArgumentsProperly()
        {
            Uri absoluteUri = new Uri("https://absolute.example.com", UriKind.Absolute);
            Uri relativeUri = new Uri("relative/someResource", UriKind.Relative);

            // First, ensure that our test data succeeds when used properly
            MakeUrisAbsoluteVisitor.CombineUris(
                absoluteBaseUri: absoluteUri,
                relativeUri: relativeUri);

            // Pass relative URI where absolute expected.
            Action action = () =>
            {
                MakeUrisAbsoluteVisitor.CombineUris(
                    absoluteBaseUri: relativeUri,
                    relativeUri: relativeUri);
            };

            action.Should().Throw <ArgumentException>();

            // Pass absolute URI where relative expected.
            action = () =>
            {
                MakeUrisAbsoluteVisitor.CombineUris(
                    absoluteBaseUri: absoluteUri,
                    relativeUri: absoluteUri);
            };

            action.Should().Throw <ArgumentException>();
        }
Example #2
0
        public void MakeUriAbsoluteVisitor_CombineUriFunctionsProperly()
        {
            var testCases = new Tuple <string, string, string>[]
            {
                new Tuple <string, string, string>
                    (@"https://base/", @"relative/file.cpp", "https://base/relative/file.cpp")
            };

            foreach (Tuple <string, string, string> testCase in testCases)
            {
                MakeUrisAbsoluteVisitor.CombineUris(
                    absoluteBaseUri: new Uri(testCase.Item1, UriKind.Absolute),
                    relativeUri: new Uri(testCase.Item2, UriKind.Relative))
                .Should().Be(testCase.Item3);
            }
        }