示例#1
0
        public void ExactMatch_Matches()
        {
            var pattern = new PatternRoute("/a/:b/c");

            var match = pattern.Match("/a/b/c");

            Assert.That(match.Score, Is.EqualTo(201));
        }
示例#2
0
        public void ExactMatchButWithPrefix_DoesNotMatches()
        {
            var pattern = new PatternRoute("/a/:b/c");

            var match = pattern.Match("/blah/a/b/c");

            Assert.That(match.Score, Is.EqualTo(int.MinValue));
        }
示例#3
0
        public void StaticPartsScoreHigherThanParameters()
        {
            var pattern1 = new PatternRoute("/a/:b/c");
            var pattern2 = new PatternRoute("/a/:b/:c");

            var match1 = pattern1.Match("/a/b/c");
            var match2 = pattern2.Match("/a/b/c");

            Assert.That(match1.Score, Is.GreaterThan(match2.Score));
        }
示例#4
0
        public void ExactMatch_TrailingSlashDoesNotMatter()
        {
            var pattern1 = new PatternRoute("/a/:b/c");
            var pattern2 = new PatternRoute("/a/:b/c/");
            var url = "/a/b/c";

            var match1 = pattern1.Match(url);
            var match2 = pattern2.Match(url);

            Assert.That(match1.Score, Is.EqualTo(201));
            Assert.That(match2.Score, Is.EqualTo(201));
        }