Inheritance: IPackageServerFactory
        public void GetPackageServer_ServerLocationParameterIsInvalid_ArgumentExceptionIsThrown(string serverLocation)
        {
            // Arrange
            var packageServerFactory = new PackageServerFactory();

            // Act
            packageServerFactory.GetPackageServer(serverLocation);
        }
        public void GetPackageServer_ServerLocationParameterIsValid_PackageServerSourceParameterEqualsSuppliedServerLocation(string serverLocation)
        {
            // Arrange
            var packageServerFactory = new PackageServerFactory();

            // Act
            var result = packageServerFactory.GetPackageServer(serverLocation);

            // Assert
            Assert.AreEqual(serverLocation, result.Source);
        }
        public void GetPackageServer_ServerLocationParameterIsValid_ResultIsNotNull()
        {
            // Arrange
            var serverLocation = "http://nuget.org/api/v2";
            var packageServerFactory = new PackageServerFactory();

            // Act
            var result = packageServerFactory.GetPackageServer(serverLocation);

            // Assert
            Assert.IsNotNull(result);
        }
        public void Setup()
        {
            this.applicationInformation = ApplicationInformationProvider.GetApplicationInformation();
            IEncodingProvider encodingProvider = new DefaultFileEncodingProvider();
            IFilesystemAccessor filesystemAccessor = new PhysicalFilesystemAccessor(encodingProvider);
            IPackageServerFactory packageServerFactory = new PackageServerFactory();
            IPublishConfigurationFactory publishConfigurationFactory = new PublishConfigurationFactory();
            IObjectSerializer<PublishConfiguration[]> publishConfigurationSerializer = new JSONObjectSerializer<PublishConfiguration[]>();
            IFilesystemPersistence<PublishConfiguration[]> publishConfigurationPersistence = new FilesystemPersistence<PublishConfiguration[]>(filesystemAccessor, publishConfigurationSerializer);
            this.publishConfigurationAccessor = new ConfigFilePublishConfigurationAccessor(this.applicationInformation, publishConfigurationFactory, publishConfigurationPersistence);

            this.publishingService = new PublishingService(filesystemAccessor, packageServerFactory, this.publishConfigurationAccessor);

            this.localPublishingFolder = Path.Combine(this.applicationInformation.StartupFolder, "publish-target");
            this.samplePackageFilepath = Path.Combine(this.applicationInformation.StartupFolder, "IntegrationTests", "Publishing", SamplePackageFilename);
        }