public void IfTwoClassesWithDifferentNamesAreNotEqualWhenPackage2IsObject()
 {
     var package1 = new Package();
     Object package2 = new Package();
     package1.Name = "test";
     Assert.IsFalse(package1.Equals(package2));
 }
예제 #2
0
 public void IfTwoClassesWithTheSameNameAreEqual()
 {
     var package1 = new Package();
     var package2 = new Package();
     package1.Name = "test";
     package2.Name = "test";
     Assert.IsTrue(package1.Equals(package2));
 }
예제 #3
0
 public void IfTwoClassesWithDifferentNamesAreNotEqual()
 {
     var package1 = new Package();
     var package2 = new Package();
     package1.Name = "test";
     package2.Name = "test2";
     Assert.IsFalse(package1.Equals(package2));
 }
 public void IfTwoClassesWithPackage2IsBeforePackage1GiveCompareToOf1()
 {
     var package1 = new Package();
     var package2 = new Package();
     package1.Name = "test2";
     package2.Name = "test1";
     Assert.AreEqual(1, package1.CompareTo(package2));
 }
 public Package GetPackageFromDirectoryName(string directoryName)
 {
     this.Log().Debug("Get packagename for directory: {0}", directoryName);
     var package = new Package();
     var versionMatch = _packageVersionRegexp.Match(directoryName);
     package.Name = directoryName.Substring(0, versionMatch.Index);
     package.InstalledVersion = versionMatch.Groups[1].Value.TrimStart('.');
     package.IsPreRelease = versionMatch.Groups.Count == 3 && !string.IsNullOrWhiteSpace(versionMatch.Groups[2].Value);
     return package;
 }
예제 #6
0
 public bool Equals(Package other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other.Name, Name);
 }
 private Package GetPackageFromDirectoryName(string directoryName)
 {
     var package = new Package();
     var versionMatch = _packageVersionRegexp.Match(directoryName);
     package.Name = directoryName.Substring(0, versionMatch.Index);
     package.InstalledVersion = directoryName.Substring(versionMatch.Index + 1);
     return package;
 }
        /// <summary>
        /// Reloads information about installed packages from
        /// chocolatey lib directory.
        /// </summary>
        public IList<Package> ReloadFromDir()
        {
            _instaledPackages = new List<Package>();
            var expandedLibDirectory = Environment.ExpandEnvironmentVariables(_settings.ChocolateyLibDirectory);
            var directories = Directory.GetDirectories(expandedLibDirectory);

            foreach (string directoryPath in directories)
            {
                string[] directoryPathSegments = directoryPath.Split(_segmentDelim);
                string directoryName = directoryPathSegments.Last();

                Package package = GetPackageFromDirectoryName(directoryName);
                _instaledPackages.Add(package);
            }
            //add chocolatey by default because else this won't work anyway
            _chocolateyService.Help();
            var chocoPackage = new Package { Name = "chocolatey", InstalledVersion = chocoVersion };
            _instaledPackages.Add(chocoPackage);
            return _instaledPackages;
        }
 private void InstallOrUninstallPackage(Package package)
 {
     if (package.IsInstalled)
     {
         var result = MessageBox.Show(this,
             string.Format(strings.really_uninstall_package_msg, package.Name),
             strings.really_uninstall_package_title,
             MessageBoxButtons.YesNo);
         if (result == System.Windows.Forms.DialogResult.Yes)
         {
             DisableUserInteraction();
             txtPowershellOutput.Visible = true;
             SetStatus(string.Format(strings.uninstalling, package.Name));
             _packageService.UninstallPackage(package.Name);
         }
     }
     else
     {
         DisableUserInteraction();
         txtPowershellOutput.Visible = true;
         SetStatus(string.Format(strings.installing, package.Name));
         _packageService.InstallPackage(package.Name);
     }
 }
        /// <summary>
        /// Reloads information about installed packages from
        /// chocolatey lib directory.
        /// </summary>
        public IList<Package> ReloadFromDir()
        {
            this.Log().Debug("Reloadfromdir");
            _instaledPackages = new List<Package>();
            var expandedLibDirectory = Environment.ExpandEnvironmentVariables(_settingsService.ChocolateyLibDirectory);
            var directories = _fileStorageService.GetDirectories(expandedLibDirectory);

            foreach (var directoryPath in directories)
            {
                this.Log().Debug("Found directory: {0}", directoryPath);
                var directoryPathSegments = directoryPath.Split(_segmentDelim);
                var directoryName = directoryPathSegments.Last();

                var package = GetPackageFromDirectoryName(directoryName);
                _instaledPackages.Add(package);
            }
            //add chocolatey by default because else this won't work anyway
            _chocolateyService.Help();
            var chocoPackage = new Package { Name = "chocolatey", InstalledVersion = _chocoVersion };
            this.Log().Debug("Chocolatey package added: {0}", chocoPackage);
            _instaledPackages.Add(chocoPackage);
            return _instaledPackages;
        }
예제 #11
0
 public void IfToStringReturnName()
 {
     var package = new Package();
     package.Name = "test";
     Assert.AreEqual("test",package.ToString());
 }
예제 #12
0
 public void IfTwoClassesWithTheSameNameGiveCompareToOf0()
 {
     var package1 = new Package();
     var package2 = new Package();
     package1.Name = "test";
     package2.Name = "test";
     Assert.AreEqual(0,package1.CompareTo(package2));
 }
예제 #13
0
 public void IfIsInstalledIsTrueWhenThereIsAVersion()
 {
     var package = new Package { InstalledVersion = "0.1.1" };
     Assert.IsTrue(package.IsInstalled);
 }
예제 #14
0
 public void IfIsInstalledIsFalseWhenVersionIsNotAvailable()
 {
     var package = new Package { InstalledVersion = strings.not_available };
     Assert.IsFalse(package.IsInstalled);
 }
예제 #15
0
 public void GivesHashCodeOfName()
 {
     var package1 = new Package();
     package1.Name = "test2";
     Assert.AreEqual("test2".GetHashCode(), package1.GetHashCode());
 }
        public void IfGetPackageFromDirectoryNameReceivesNameThatIsValidPerRecomendations(string filename, string expectedPackageName, string expectedVersion, bool prerelease)
        {
            var expectedPackage = new Package
            {
                Name = expectedPackageName,
                InstalledVersion = expectedVersion,
                IsPreRelease = prerelease
            };

            var actualPackage = _helper.GetPackageFromDirectoryName(filename);

            Assert.AreEqual(expectedPackage.Name, actualPackage.Name);
            Assert.AreEqual(expectedPackage.InstalledVersion, actualPackage.InstalledVersion);
            Assert.AreEqual(expectedPackage.IsPreRelease, actualPackage.IsPreRelease);
        }