< Summary - Jellyfin

Information
Class: MediaBrowser.Controller.Library.SearchResult
Assembly: MediaBrowser.Controller
File(s): /srv/git/jellyfin/MediaBrowser.Controller/Library/SearchResult.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 8
Coverable lines: 8
Total lines: 60
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 6/8/2026 - 12:16:15 AM Line coverage: 0% (0/8) Branch coverage: 0% (0/4) Total lines: 60 6/8/2026 - 12:16:15 AM Line coverage: 0% (0/8) Branch coverage: 0% (0/4) Total lines: 60

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
op_Equality(...)100%210%
op_Inequality(...)100%210%
Equals(...)0%620%
Equals(...)0%620%
GetHashCode()100%210%

File(s)

/srv/git/jellyfin/MediaBrowser.Controller/Library/SearchResult.cs

#LineLine coverage
 1using System;
 2
 3namespace MediaBrowser.Controller.Library;
 4
 5/// <summary>
 6/// Represents an item matched by a search query with its relevance score.
 7/// </summary>
 8public readonly struct SearchResult : IEquatable<SearchResult>
 9{
 10    /// <summary>
 11    /// Initializes a new instance of the <see cref="SearchResult"/> struct.
 12    /// </summary>
 13    /// <param name="itemId">The item ID.</param>
 14    /// <param name="score">The relevance score.</param>
 15    public SearchResult(Guid itemId, float score)
 16    {
 017        ItemId = itemId;
 018        Score = score;
 019    }
 20
 21    /// <summary>
 22    /// Gets the ID of the matching item.
 23    /// </summary>
 24    public Guid ItemId { get; init; }
 25
 26    /// <summary>
 27    /// Gets the relevance score. Higher values indicate more relevant results.
 28    /// </summary>
 29    public float Score { get; init; }
 30
 31    /// <summary>
 32    /// Compares two <see cref="SearchResult"/> instances for equality.
 33    /// </summary>
 34    /// <param name="left">The left operand.</param>
 35    /// <param name="right">The right operand.</param>
 36    /// <returns>True if the instances are equal; otherwise, false.</returns>
 37    public static bool operator ==(SearchResult left, SearchResult right)
 038        => left.Equals(right);
 39
 40    /// <summary>
 41    /// Compares two <see cref="SearchResult"/> instances for inequality.
 42    /// </summary>
 43    /// <param name="left">The left operand.</param>
 44    /// <param name="right">The right operand.</param>
 45    /// <returns>True if the instances are not equal; otherwise, false.</returns>
 46    public static bool operator !=(SearchResult left, SearchResult right)
 047        => !left.Equals(right);
 48
 49    /// <inheritdoc/>
 50    public override bool Equals(object? obj)
 051        => obj is SearchResult other && Equals(other);
 52
 53    /// <inheritdoc/>
 54    public bool Equals(SearchResult other)
 055        => ItemId.Equals(other.ItemId) && Score.Equals(other.Score);
 56
 57    /// <inheritdoc/>
 58    public override int GetHashCode()
 059        => HashCode.Combine(ItemId, Score);
 60}