void CreatePackageManager(IProject project, PackageReferenceRepositoryHelper packageRefRepositoryHelper)
        {
            options = new TestablePackageManagementOptions();
            options.PackagesDirectory = "packages";

            repositoryPaths = new SolutionPackageRepositoryPath(project, options);
            var pathResolver = new DefaultPackagePathResolver(repositoryPaths.PackageRepositoryPath);

            fakeFileSystem = new FakeFileSystem();

            fakeFeedSourceRepository     = new FakePackageRepository();
            fakeSolutionSharedRepository = packageRefRepositoryHelper.FakeSharedSourceRepository;

            fakePackageOperationResolverFactory = new FakePackageOperationResolverFactory();
            fakePackageOperationResolver        = fakePackageOperationResolverFactory.FakeInstallPackageOperationResolver;

            var fakeSolutionPackageRepository = new FakeSolutionPackageRepository();

            fakeSolutionPackageRepository.FileSystem           = fakeFileSystem;
            fakeSolutionPackageRepository.PackagePathResolver  = pathResolver;
            fakeSolutionPackageRepository.FakeSharedRepository = fakeSolutionSharedRepository;

            packageManager = new MonoDevelopPackageManager(fakeFeedSourceRepository,
                                                           packageRefRepositoryHelper.FakeProjectSystem,
                                                           fakeSolutionPackageRepository,
                                                           fakePackageOperationResolverFactory);
        }
예제 #2
0
        public void CreatePackageManager_PackagesSolutionFolderDefinedInOptions_PackageManagerPathResolverUsesPackagesFolderInsideSolutionFolder()
        {
            CreateFactory();
            CreateTestProject();
            options.PackagesDirectory = "packages";
            CreatePackageManager();

            var package = new FakePackage("TestPackage", "1.0.0.0");

            string expectedDirectory = @"c:\projects\MyProject\packages\TestPackage.1.0.0.0".ToNativePath();

            MonoDevelopPackageManager monoDevelopPackageManager = packageManager as MonoDevelopPackageManager;
            string actualDirectory = monoDevelopPackageManager.PathResolver.GetInstallPath(package);

            Assert.AreEqual(expectedDirectory, actualDirectory);
        }