示例#1
0
        private static IPackageRepositoryFactory GetFactory()
        {
            var repositoryA = new MockPackageRepository {
                PackageUtility.CreatePackage("Foo"), PackageUtility.CreatePackage("Baz", "0.4"), PackageUtility.CreatePackage("Baz", "0.7")
            };

            var dependencySets1 = new[]
            {
                new PackageDependencySet(null, new[]
                {
                    new PackageDependency("ChildPackage", new VersionSpec
                    {
                        MinVersion     = new SemanticVersion("1.0"),
                        MaxVersion     = new SemanticVersion("2.0"),
                        IsMinInclusive = true
                    })
                })
            };

            var dependencySets2 = new[]
            {
                new PackageDependencySet(null, new[]
                {
                    new PackageDependency("ChildPackage", new VersionSpec
                    {
                        MinVersion     = new SemanticVersion("2.0"),
                        MaxVersion     = new SemanticVersion("5.0"),
                        IsMinInclusive = false
                    })
                })
            };

            var repositoryB = new MockPackageRepository
            {
                PackageUtility.CreatePackage("Bar", "0.5"),
                PackageUtility.CreatePackage("Baz", "0.8.1-alpha"),
                PackageUtility.CreatePackageWithDependencySets("PackageWithDependencies", "1.0", dependencySets: dependencySets1),
                PackageUtility.CreatePackageWithDependencySets("PackageWithDependencies", "2.0", dependencySets: dependencySets2),
                PackageUtility.CreatePackage("ChildPackage", "1.4"),
                PackageUtility.CreatePackage("ChildPackage", "3.0")
            };

            var factory = new Mock <IPackageRepositoryFactory>();

            factory.Setup(c => c.CreateRepository(It.Is <string>(f => f.Equals("Some source")))).Returns(repositoryA);
            factory.Setup(c => c.CreateRepository(It.Is <string>(f => f.Equals("Some other source")))).Returns(repositoryB);

            return(factory.Object);
        }