Beispiel #1
0
        public void InitFromLogFileAndPackages_WithEmptyPackageNames_AddsAllPackagesAsNotEvaluated()
        {
            var packages   = CreateDefaultPackages();
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], packages);

            storage.OrderedPackages[PackageEvaluationStates.NotEvaluated].Count.Should().Be(packages.Count());
        }
Beispiel #2
0
        public void MarkPackageFailed_WithNonExistingPackage_ThrowsArgumentException()
        {
            var packages   = CreateDefaultPackages();
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], packages);

            Assert.Throws <ArgumentException>(() => storage.MarkPackageFailed(new Package())).Message.Should().Contain("does not exist in the storage.");
        }
Beispiel #3
0
        public void MarkPackageFailed_WithNullPackage_ThrowsArgumentException()
        {
            var packages   = CreateDefaultPackages();
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], packages);

            Assert.Throws <ArgumentException>(() => storage.MarkPackageFailed(null)).Message.Should().Contain("Cannot mark 'null' as solved.");
        }
Beispiel #4
0
        public void GetNextPackage_WithNoPackages_ReturnsNull()
        {
            var packages   = new List <Package>(0);
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], new Package[0]);

            var result = storage.GetNextPackage();

            result.Should().BeNull();
        }
Beispiel #5
0
        public void MarkPackageFailed_WithPackageInCorrectState_Runs()
        {
            var packages   = CreateDefaultPackages().ToArray();
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], packages);

            var p = storage.GetNextPackage();

            storage.MarkPackageFailed(packages.First());

            storage.OrderedPackages[PackageEvaluationStates.Failed].Should().Contain(packages.First());
        }
Beispiel #6
0
        public void InitFromLogFileAndPackages_WithDifferentPackageNames_AddsAllPackagesAsNotEvaluated()
        {
            var packages               = CreateDefaultPackages();
            var textOutput             = A.Fake <ITextFileOutput>();
            var successfulPackageNames = packages
                                         .Select(p => new LogEntry {
                Name = p.Name + "ABC", Status = PackageStorage.DefaultSuccessSate.ToString()
            })
                                         .ToArray();
            var storage = new TestablePackageStorage(successfulPackageNames, packages);

            storage.OrderedPackages[PackageEvaluationStates.Solved].Count.Should().Be(0);
            storage.OrderedPackages[PackageEvaluationStates.NotEvaluated].Count.Should().Be(packages.Count());
        }
Beispiel #7
0
        public void InitFromLogFileAndPackages_WithPackageNamesAndContents_AddsPackagesAsSolved()
        {
            var packages               = CreateDefaultPackages();
            var solvedPackages         = packages.Count() / 2;
            var unsolvedPackages       = packages.Count() - solvedPackages;
            var textOutput             = A.Fake <ITextFileOutput>();
            var successfulPackageNames = packages
                                         .Take(solvedPackages)
                                         .Select(x => new LogEntry {
                Name = x.Name, Status = PackageStorage.DefaultSuccessSate.ToString()
            })
                                         .ToArray();
            var storage = new TestablePackageStorage(successfulPackageNames, packages);

            storage.OrderedPackages[PackageEvaluationStates.PreviouslyRun].Count.Should().Be(solvedPackages);
            storage.OrderedPackages[PackageEvaluationStates.NotEvaluated].Count.Should().Be(unsolvedPackages);
        }
Beispiel #8
0
        public void GetNextPackage_WithUnmetRequirements_ThrowsArgumentException()
        {
            var packages = new List <Package>
            {
                new Package
                {
                    Name     = "DummyPackage #1",
                    Requires = new string[] { "non-existing-package" },
                }
            };
            var textOutput = A.Fake <ITextFileOutput>();
            var storage    = new TestablePackageStorage(new LogEntry[0], packages);

            var result = storage.GetNextPackage();

            result.Should().BeNull();
            storage.OrderedPackages[PackageEvaluationStates.UnmetDependency].Should().Contain(packages.First());
            storage.OrderedPackages[PackageEvaluationStates.NotEvaluated].Should().NotContain(packages.First());
        }