< Summary

Information
Class: Anichron.Worker.Ingestion.MediaTypeDetector
Assembly: Anichron.Worker
File(s): /home/runner/work/anichron/anichron/src/Anichron.Worker/Ingestion/MediaTypeDetector.cs
Tag: 228_36821334185
Line coverage
100%
Covered lines: 24
Uncovered lines: 0
Coverable lines: 24
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
Detect(...)100%22100%

File(s)

/home/runner/work/anichron/anichron/src/Anichron.Worker/Ingestion/MediaTypeDetector.cs

#LineLine coverage
 1using Anichron.Core.Domain;
 2
 3namespace Anichron.Worker.Ingestion;
 4
 5internal static class MediaTypeDetector
 6{
 17    private static readonly Dictionary<string, MediaType> extensionMap =
 18        new(StringComparer.OrdinalIgnoreCase)
 19        {
 110            [".jpg"] = MediaType.Image,
 111            [".jpeg"] = MediaType.Image,
 112            [".png"] = MediaType.Image,
 113            [".heic"] = MediaType.Image,
 114            [".heif"] = MediaType.Image,
 115            [".gif"] = MediaType.Image,
 116            [".webp"] = MediaType.Image,
 117            [".tiff"] = MediaType.Image,
 118            [".tif"] = MediaType.Image,
 119            [".bmp"] = MediaType.Image,
 120            [".mov"] = MediaType.Video,
 121            [".mp4"] = MediaType.Video,
 122            [".m4v"] = MediaType.Video,
 123            [".avi"] = MediaType.Video,
 124            [".mkv"] = MediaType.Video,
 125            [".wmv"] = MediaType.Video,
 126        };
 27
 28    public static MediaType? Detect(string filePath)
 3629    {
 3630        var extension = Path.GetExtension(filePath);
 3631        return extensionMap.TryGetValue(extension, out var type) ? type : null;
 3632    }
 33}

Methods/Properties

.cctor()
Detect(System.String)