< Summary

Information
Class: MyNet.Utilities.Caching.Policies.CustomExpirationPolicy
Assembly: MyNet.Utilities
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Utilities/Caching/Policies/CustomExpirationPolicy.cs
Tag: 323_28699572109
Line coverage
0%
Covered lines: 0
Uncovered lines: 5
Coverable lines: 5
Total lines: 56
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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)0%620%
get_IsExpired()100%210%
OnReset()0%620%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Utilities/Caching/Policies/CustomExpirationPolicy.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="CustomExpirationPolicy.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8
 9namespace MyNet.Utilities.Caching.Policies;
 10
 11/// <summary>
 12/// The custom expiration policy.
 13/// </summary>
 14/// <remarks>
 15/// Initializes a new instance of the <see cref="CustomExpirationPolicy"/> class.
 16/// </remarks>
 17/// <param name="isExpiredFunc">
 18/// The function to check if the policy is expired.
 19/// </param>
 20/// <param name="resetAction">
 21/// The action that will be executed if the item is read before expiration.
 22/// </param>
 023public sealed class CustomExpirationPolicy(Func<bool> isExpiredFunc, Action? resetAction = null) : ExpirationPolicy(rese
 24{
 25    #region Fields
 26
 27    /// <summary>
 28    /// The function to check if the policy is expired.
 29    /// </summary>
 030    private readonly Func<bool> _isExpiredFunc = isExpiredFunc ?? throw new ArgumentNullException(nameof(isExpiredFunc))
 31
 32    /// <summary>
 33    ///  The action that will be executed if the item is read before expiration.
 34    /// </summary>
 035    private readonly Action? _resetAction = resetAction;
 36
 37    #endregion
 38
 39    #region Properties
 40
 41    /// <summary>
 42    /// Gets a value indicating whether is expired.
 43    /// </summary>
 044    public override bool IsExpired => _isExpiredFunc.Invoke();
 45    #endregion
 46
 47    #region Methods
 48
 49    /// <summary>
 50    /// Called when the policy is resetting.
 51    /// </summary>
 052    protected override void OnReset() => _resetAction?.Invoke();
 53
 54    #endregion
 55}
 56