public void VersionParsing() { foreach (var s in ExampleVersions) { Pep440Version ver; Assert.IsTrue(Pep440Version.TryParse(s, out ver), s); Assert.AreEqual(s, ver.OriginalForm); } }
private static void AreVersionsNotEqual(string expected, string actual) { Pep440Version v1, v2; Assert.IsTrue(Pep440Version.TryParse(expected, out v1), expected); Assert.IsTrue(Pep440Version.TryParse(actual, out v2), actual); Assert.IsFalse(v1.Equals(v2), string.Format( "{0} == {1} ({2} == {3})", v1.OriginalForm, v2.OriginalForm, v1.NormalizedForm, v2.NormalizedForm ) ); }
internal PipPackageView(PipPackageCache provider, string packageSpec, bool versionIsInstalled = true) { _provider = provider; Match m; try { m = PipListOutputRegex.Match(packageSpec); } catch (RegexMatchTimeoutException) { Debug.Fail("Regex timeout"); m = null; } if (m == null || !m.Success) { try { m = PipFreezeOutputRegex.Match(packageSpec); } catch (RegexMatchTimeoutException) { Debug.Fail("Regex timeout"); m = null; } if (m == null || !m.Success) { try { m = NameAndDescriptionRegex.Match(packageSpec); } catch (RegexMatchTimeoutException) { Debug.Fail("Regex timeout"); m = null; } } } Pep440Version version; if (m.Success) { _name = m.Groups["name"].Value; Pep440Version.TryParse(m.Groups["version"].Value, out version); } else { _name = packageSpec; version = Pep440Version.Empty; } var description = m.Groups["description"].Value; if (!string.IsNullOrEmpty(description)) { _description = Uri.UnescapeDataString(description); } if (versionIsInstalled) { _version = version; _upgradeVersion = null; } else { _version = Pep440Version.Empty; _upgradeVersion = version; } }