예제 #1
0
        public void TryParseVersionInText_ValidMarker()
        {
            var success = VersionFunctions.TryParseVersionInText("foo 1.0", @"(?<marker>foo) (?<version>1.0)", out var _, out var marker);

            Assert.IsTrue(success);
            Assert.AreEqual("foo", marker);
        }
예제 #2
0
        public void TryParseVersionInText_ValidRegexButTextIsNoVersion()
        {
            var success = VersionFunctions.TryParseVersionInText("something", @"a(?<version>\d\.\d)a", out var version, out var marker);

            Assert.IsFalse(success);
            Assert.IsNull(version);
            Assert.IsTrue(string.IsNullOrEmpty(marker));
        }
예제 #3
0
        public void TryParseVersionInText_InvalidRegexWithoutNamedGroup()
        {
            var success = VersionFunctions.TryParseVersionInText("100", @"\d", out var version, out var marker);

            Assert.IsFalse(success);
            Assert.IsNull(version);
            Assert.IsTrue(string.IsNullOrEmpty(marker));
        }
예제 #4
0
        public void TryParseVersionInText_Found()
        {
            var success = VersionFunctions.TryParseVersionInText("a1.2a", @"a(?<version>\d\.\d)a", out var version, out var marker);

            Assert.IsTrue(success);
            Assert.AreEqual("1.2", version.ToString());
            Assert.IsTrue(string.IsNullOrEmpty(marker));
        }
예제 #5
0
 public void TryParseVersionInText_InvalidRegexWithNamedGroup()
 {
     Assert.ThrowsException <ArgumentException>(() => VersionFunctions.TryParseVersionInText("1.0//", @"(?<version>1.0//)", out _, out _));
 }