Skip to content

Commit

Permalink
Code quality fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveDesmond-ca committed Nov 28, 2024
1 parent 46293ea commit 2fdc28c
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/LibYear.Core/FileTypes/XmlProjectFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ private void UpdateElement(XElement element, string latestVersion)
e.Value = latestVersion;
}

private IReadOnlyCollection<XElement> GetMatchingElements(Result result)
private XElement[] GetMatchingElements(Result result)
=> _xmlContents.Descendants(_elementName)
.Where(d => _packageAttributeNames.Any(attributeName => (d.Attribute(attributeName)?.Value ?? d.Element(attributeName)?.Value) == result.Name
&& (d.Attribute(_versionAttributeName)?.Value ?? d.Element(_versionAttributeName)?.Value) == result.Installed?.Version.ToString()
&& (d.Attribute(_versionAttributeName)?.Value ?? d.Element(_versionAttributeName)?.Value) == result.Installed?.Version.ToString()
)
)
.ToArray();
Expand Down
6 changes: 3 additions & 3 deletions src/LibYear.Core/PackageVersionChecker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ private async Task<ProjectResult> GetResults(IProjectFile proj)

public async Task<Result> GetResult(string packageName, PackageVersion? installed)
{
if (!_versionCache.ContainsKey(packageName))
if (!_versionCache.TryGetValue(packageName, out var versions))
{
_versionCache[packageName] = await GetVersions(packageName);
versions = await GetVersions(packageName);
_versionCache[packageName] = versions;
}

var versions = _versionCache[packageName];
var latest = versions.FirstOrDefault(v => v.Version == versions.Where(m => !m.Version.IsPrerelease && m.IsPublished).Max(m => m.Version));
var current = installed?.WildcardType switch
{
Expand Down
4 changes: 2 additions & 2 deletions src/LibYear.Core/ProjectFileManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public ProjectFileManager(IFileSystem fileSystem)

public async Task<IReadOnlyCollection<IProjectFile>> GetAllProjects(IReadOnlyCollection<string> paths, bool recursive = false)
{
if (!paths.Any())
if (paths.Count == 0)
return await GetProjectsInDir(Directory.GetCurrentDirectory(), recursive);

var tasks = paths.Select(p => GetProjects(p, recursive));
Expand All @@ -35,7 +35,7 @@ public async Task<IReadOnlyCollection<IProjectFile>> GetProjectsInDir(string dir
{
var dir = _fileSystem.DirectoryInfo.New(dirPath);
var projectFiles = await FindProjectsInDir(dir, recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
return projectFiles.Any()
return projectFiles.Count > 0
? projectFiles
: await FindProjectsInDir(dir, SearchOption.AllDirectories);
}
Expand Down
6 changes: 4 additions & 2 deletions src/LibYear/App.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,12 @@ public async Task<int> Run(Settings settings)

private void DisplayAllResultsTables(SolutionResult allResults, bool quietMode)
{
if (!allResults.Details.Any())
if (allResults.Details.Count == 0)
return;

int MaxLength(Func<Result, int> field) => allResults.Details.Max(results => results.Details.Any() ? results.Details.Max(field) : 0);
int MaxLength(Func<Result, int> field)
=> allResults.Details.Max(results => results.Details.Count > 0 ? results.Details.Max(field) : 0);

var namePad = Math.Max("Package".Length, MaxLength(r => r.Name.Length));
var installedPad = Math.Max("Installed".Length, MaxLength(r => r.Installed?.Version.ToString().Length ?? 0));
var latestPad = Math.Max("Latest".Length, MaxLength(r => r.Latest?.Version.ToString().Length ?? 0));
Expand Down
4 changes: 3 additions & 1 deletion test/LibYear.Tests/AppTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ namespace LibYear.Tests;

public class AppTests
{
private static readonly string[] UpdateResult = ["updated"];

[Fact]
public async Task UpdateFlagUpdates()
{
Expand All @@ -18,7 +20,7 @@ public async Task UpdateFlagUpdates()

var manager = Substitute.For<IProjectFileManager>();
manager.GetAllProjects(Arg.Any<IReadOnlyCollection<string>>()).Returns(new IProjectFile[] { new TestProjectFile("test1") });
manager.Update(Arg.Any<SolutionResult>()).Returns(new[] { "updated" });
manager.Update(Arg.Any<SolutionResult>()).Returns(UpdateResult);

var console = new TestConsole();
var app = new App(checker, manager, console);
Expand Down

0 comments on commit 2fdc28c

Please sign in to comment.