< Summary

Information
Class: Fluorite.Strainer.Models.Metadata.ObjectMetadata
Assembly: Fluorite.Strainer
File(s): /builds/fluorite/strainer/src/Strainer/Models/Metadata/ObjectMetadata.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 45
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_DefaultSortingPropertyName()100%11100%
get_DefaultSortingWay()100%11100%
get_IsFilterable()100%11100%
get_IsSortable()100%11100%
get_DefaultSortingPropertyInfo()100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer/Models/Metadata/ObjectMetadata.cs

#LineLine coverage
 1using Fluorite.Strainer.Models.Sorting;
 2using System.Reflection;
 3
 4namespace Fluorite.Strainer.Models.Metadata;
 5
 6/// <summary>
 7/// Represents filtering and sorting metadata for a class or struct,
 8/// setting default values for all its properties.
 9/// </summary>
 10public class ObjectMetadata : IObjectMetadata
 11{
 12    /// <summary>
 13    /// Initializes a new instance of the <see cref="ObjectMetadata"/> class.
 14    /// </summary>
 1915    public ObjectMetadata(
 1916        string defaultSortingPropertyName,
 1917        PropertyInfo defaultSortingPropertyInfo,
 1918        SortingWay? defaultSortingWay)
 19    {
 1920        DefaultSortingPropertyName = Guard.Against.NullOrWhiteSpace(defaultSortingPropertyName);
 1921        DefaultSortingPropertyInfo = Guard.Against.Null(defaultSortingPropertyInfo);
 1922        DefaultSortingWay = defaultSortingWay;
 1923    }
 24
 25    /// <inheritdoc/>
 1326    public string DefaultSortingPropertyName { get; }
 27
 28    /// <inheritdoc/>
 1129    public SortingWay? DefaultSortingWay { get; }
 30
 31    /// <summary>
 32    /// Gets or sets a value indicating whether related
 33    /// object is marked as filterable.
 34    /// </summary>
 3035    public bool IsFilterable { get; set; }
 36
 37    /// <summary>
 38    /// Gets or sets a value indicating whether related
 39    /// object is marked as filterable.
 40    /// </summary>
 3041    public bool IsSortable { get; set; }
 42
 43    /// <inheritdoc/>
 1744    public PropertyInfo DefaultSortingPropertyInfo { get; }
 45}