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()); }
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."); }
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."); }
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(); }
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()); }
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()); }
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); }
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()); }