diff options
| author | BaronGreenback <jimcartlidge@yahoo.co.uk> | 2021-05-22 22:01:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-22 22:01:03 +0100 |
| commit | 51fb6e1d2d4ed30ead48400e71706a609547937e (patch) | |
| tree | 18e42025cf00afb98444f36215d6a9a9ed8b15aa /tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs | |
| parent | d0537a3271ca9294dce1e86af290e2109ba5e15f (diff) | |
| parent | db9d3b8653d865459e5df5a2fba18f0c9462dbb6 (diff) | |
Merge branch 'master' into IsRoot_fix
Diffstat (limited to 'tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs')
| -rw-r--r-- | tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs b/tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs new file mode 100644 index 000000000..117083815 --- /dev/null +++ b/tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using AutoFixture; +using AutoFixture.AutoMoq; +using Jellyfin.Api.Controllers; +using Jellyfin.Api.Helpers; +using Jellyfin.Api.Models.StreamingDtos; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.MediaEncoding; +using Moq; +using Xunit; + +namespace Jellyfin.Api.Tests.Controllers +{ + public class DynamicHlsControllerTests + { + [Theory] + [MemberData(nameof(GetSegmentLengths_Success_TestData))] + public void GetSegmentLengths_Success(long runtimeTicks, int segmentlength, double[] expected) + { + var res = DynamicHlsController.GetSegmentLengthsInternal(runtimeTicks, segmentlength); + Assert.Equal(expected.Length, res.Length); + for (int i = 0; i < expected.Length; i++) + { + Assert.Equal(expected[i], res[i]); + } + } + + public static IEnumerable<object[]> GetSegmentLengths_Success_TestData() + { + yield return new object[] { 0, 6, Array.Empty<double>() }; + yield return new object[] + { + TimeSpan.FromSeconds(3).Ticks, + 6, + new double[] { 3 } + }; + yield return new object[] + { + TimeSpan.FromSeconds(6).Ticks, + 6, + new double[] { 6 } + }; + yield return new object[] + { + TimeSpan.FromSeconds(3.3333333).Ticks, + 6, + new double[] { 3.3333333 } + }; + yield return new object[] + { + TimeSpan.FromSeconds(9.3333333).Ticks, + 6, + new double[] { 6, 3.3333333 } + }; + } + } +} |
