mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-04-23 10:42:37 -04:00
28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
using allstarr.Services.Common;
|
|
using Xunit;
|
|
|
|
namespace allstarr.Tests;
|
|
|
|
public class TrackParserBaseTests
|
|
{
|
|
[Fact]
|
|
public void TrackParserBaseHelpers_ShouldBuildConsistentIdsAndYears()
|
|
{
|
|
Assert.Equal("ext-deezer-song-123", TrackParserProbe.SongId("deezer", "123"));
|
|
Assert.Equal("ext-qobuz-album-555", TrackParserProbe.AlbumId("qobuz", "555"));
|
|
Assert.Equal("ext-squidwtf-artist-77", TrackParserProbe.ArtistId("squidwtf", "77"));
|
|
|
|
Assert.Equal(2024, TrackParserProbe.Year("2024-11-03"));
|
|
Assert.Null(TrackParserProbe.Year(""));
|
|
Assert.Null(TrackParserProbe.Year("abc"));
|
|
}
|
|
|
|
private sealed class TrackParserProbe : TrackParserBase
|
|
{
|
|
public static string SongId(string provider, string externalId) => BuildExternalSongId(provider, externalId);
|
|
public static string AlbumId(string provider, string externalId) => BuildExternalAlbumId(provider, externalId);
|
|
public static string ArtistId(string provider, string externalId) => BuildExternalArtistId(provider, externalId);
|
|
public static int? Year(string? dateString) => ParseYearFromDateString(dateString);
|
|
}
|
|
}
|