| 1234567891011121314151617181920212223242526272829303132333435 | using System;using Jellyfin.Data.Enums;using Jellyfin.Database.Implementations.Entities;using Jellyfin.Server.Implementations.Item;using MediaBrowser.Controller.Entities;using Xunit;namespace Jellyfin.Server.Implementations.Tests.Item;public class OrderMapperTests{    [Fact]    public void ShouldReturnMappedOrderForSortingByPremierDate()    {        var orderFunc = OrderMapper.MapOrderByField(ItemSortBy.PremiereDate, new InternalItemsQuery()).Compile();        var expectedDate = new DateTime(1, 2, 3);        var expectedProductionYearDate = new DateTime(4, 1, 1);        var entityWithOnlyProductionYear = new BaseItemEntity { Id = Guid.NewGuid(), Type = "Test", ProductionYear = expectedProductionYearDate.Year };        var entityWithOnlyPremierDate = new BaseItemEntity { Id = Guid.NewGuid(), Type = "Test", PremiereDate = expectedDate };        var entityWithBothPremierDateAndProductionYear = new BaseItemEntity { Id = Guid.NewGuid(), Type = "Test", PremiereDate = expectedDate, ProductionYear = expectedProductionYearDate.Year };        var entityWithoutEitherPremierDateOrProductionYear = new BaseItemEntity { Id = Guid.NewGuid(), Type = "Test" };        var resultWithOnlyProductionYear = orderFunc(entityWithOnlyProductionYear);        var resultWithOnlyPremierDate = orderFunc(entityWithOnlyPremierDate);        var resultWithBothPremierDateAndProductionYear = orderFunc(entityWithBothPremierDateAndProductionYear);        var resultWithoutEitherPremierDateOrProductionYear = orderFunc(entityWithoutEitherPremierDateOrProductionYear);        Assert.Equal(resultWithOnlyProductionYear, expectedProductionYearDate);        Assert.Equal(resultWithOnlyPremierDate, expectedDate);        Assert.Equal(resultWithBothPremierDateAndProductionYear, expectedDate);        Assert.Null(resultWithoutEitherPremierDateOrProductionYear);    }}
 |