public static Func <IPackage, bool> ToDelegate(this IVersionSpec versionInfo) { if (versionInfo == null) { throw new ArgumentNullException("versionInfo"); } return(versionInfo.ToDelegate <IPackage>(p => p.Version)); }
public static IEnumerable <IPackage> FindByVersion(this IEnumerable <IPackage> source, IVersionSpec versionSpec) { if (versionSpec == null) { throw new ArgumentNullException("versionSpec"); } return(Enumerable.Where <IPackage>(source, versionSpec.ToDelegate())); }
/// <summary> /// Determines if the specified version is within the version spec /// </summary> public static bool Satisfies(this IVersionSpec versionSpec, SemanticVersion version) { // The range is unbounded so return true if (versionSpec == null) { return(true); } return(versionSpec.ToDelegate <SemanticVersion>(v => v)(version)); }
public void ToDelegateOutputWorksWithPlainSemVers(string verSpec, string semVer, bool expected) { // Arrange IVersionSpec spec = VersionUtility.ParseVersionSpec(verSpec); SemanticVersion ver = new SemanticVersion(semVer); // Act/Assert Assert.Equal(expected, spec.ToDelegate <SemanticVersion>(v => v)(ver)); }
public void ToDelegateOutputWorksWithPackages(string verSpec, string semVer, bool expected) { // Arrange IVersionSpec spec = VersionUtility.ParseVersionSpec(verSpec); Mock <IPackage> mockPkg = new Mock <IPackage>(); mockPkg.Setup(p => p.Version).Returns(new SemanticVersion(semVer)); // Act/Assert Assert.Equal(expected, spec.ToDelegate()(mockPkg.Object)); }
/// <summary> /// Stolen from NuGet codebase. /// </summary> /// <param name="versionInfo"></param> /// <returns></returns> public static Func <IPackage, bool> ToDelegate(this IVersionSpec versionInfo) { return(versionInfo.ToDelegate <IPackage>(p => p.Version)); }
public static bool Satisfies(this IVersionSpec versionSpec, SemanticVersion version) => ((versionSpec != null) ? versionSpec.ToDelegate <SemanticVersion>(v => v)(version) : true);