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); }
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)); }
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)); }
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)); }
public void TryParseVersionInText_InvalidRegexWithNamedGroup() { Assert.ThrowsException <ArgumentException>(() => VersionFunctions.TryParseVersionInText("1.0//", @"(?<version>1.0//)", out _, out _)); }