コード例 #1
0
        public void FindPackageCallsFindPackageFromActiveSource()
        {
            // Arrange
            var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>();
            var mockSourceProvider    = new Mock <IVsPackageSourceProvider>();

            var mockRepository = new Mock <IPackageRepository>(MockBehavior.Strict);
            var source         = new PackageSource("bar", "foo");

            mockRepository.As <IPackageLookup>()
            .Setup(p => p.FindPackage("A", new SemanticVersion("1.0")))
            .Returns(PackageUtility.CreatePackage("A", "1.0"))
            .Verifiable();

            mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source);
            mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object);
            var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object);

            // Act
            IPackage package = repository.FindPackage("A", new SemanticVersion("1.0"));

            // Assert
            mockRepository.VerifyAll();
            Assert.Equal("A", package.Id);
            Assert.Equal(new SemanticVersion("1.0"), package.Version);
        }
コード例 #2
0
        public void NullActivePackageSourceDoesNotThrowForOtherMethods()
        {
            // Arrange
            var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>();
            var mockSourceProvider = new Mock<IVsPackageSourceProvider>();
            mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null);
            mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny<string>())).Returns(new MockPackageRepository());
            var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object);

            // Act & Assert
            Assert.NotNull(repository.Clone());
            Assert.Empty(repository.GetPackages());
            Assert.False(repository.SupportsPrereleasePackages);
            Assert.Empty(repository.FindPackagesById("A"));
            Assert.Null(repository.FindPackage("A", new SemanticVersion("1.0")));
            Assert.Empty(repository.Search("web", new string[] { "net40" }, true));
        }
コード例 #3
0
        public void NullActivePackageSourceDoesNotThrowForOtherMethods()
        {
            // Arrange
            var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>();
            var mockSourceProvider    = new Mock <IVsPackageSourceProvider>();

            mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null);
            mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny <string>())).Returns(new MockPackageRepository());
            var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object);

            // Act & Assert
            Assert.NotNull(repository.Clone());
            Assert.Empty(repository.GetPackages());
            Assert.False(repository.SupportsPrereleasePackages);
            Assert.Empty(repository.FindPackagesById("A"));
            Assert.Null(repository.FindPackage("A", new SemanticVersion("1.0")));
            Assert.Empty(repository.Search("web", new string[] { "net40" }, true));
        }
コード例 #4
0
        public void FindPackageCallsFindPackageFromActiveSource()
        {
            // Arrange
            var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>();
            var mockSourceProvider = new Mock<IVsPackageSourceProvider>();

            var mockRepository = new Mock<IPackageRepository>(MockBehavior.Strict);
            var source = new PackageSource("bar", "foo");
            mockRepository.As<IPackageLookup>()
                          .Setup(p => p.FindPackage("A", new SemanticVersion("1.0")))
                          .Returns(PackageUtility.CreatePackage("A", "1.0"))
                          .Verifiable();

            mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source);
            mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object);
            var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object);

            // Act
            IPackage package = repository.FindPackage("A", new SemanticVersion("1.0"));

            // Assert
            mockRepository.VerifyAll();
            Assert.Equal("A", package.Id);
            Assert.Equal(new SemanticVersion("1.0"), package.Version);
        }