< Summary

Information
Class: MyNet.Observable.Behaviors.ObservableBehavior<T>
Assembly: MyNet.Observable
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Observable/Behaviors/ObservableBehavior.cs
Tag: 323_28699572109
Line coverage
90%
Covered lines: 10
Uncovered lines: 1
Coverable lines: 11
Total lines: 64
Line coverage: 90.9%
Branch coverage
50%
Covered branches: 3
Total branches: 6
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)50%22100%
DisposeManagedResources()100%11100%
Dispose(...)50%4483.33%
Dispose()100%11100%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Observable/Behaviors/ObservableBehavior.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="ObservableBehavior.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8
 9namespace MyNet.Observable.Behaviors;
 10
 11/// <summary>
 12/// Represents a base behavior attached to an <see cref="IObservableObject"/>.
 13/// </summary>
 14/// <param name="owner">The owner object.</param>
 15/// <exception cref="ArgumentNullException">Thrown when owner is null.</exception>
 16public abstract class ObservableBehavior<T>(T owner) : IObservableBehavior, IDisposable
 17    where T : IObservableObject
 18{
 19    /// <summary>
 20    /// Gets the owner object.
 21    /// </summary>
 44422    protected T Owner { get; } = owner ?? throw new ArgumentNullException(nameof(owner));
 23
 24    /// <summary>
 25    /// Gets a value indicating whether the behavior is disposed.
 26    /// </summary>
 27    protected bool IsDisposed { get; private set; }
 28
 29    #region IDisposable Support
 30
 31    /// <summary>
 32    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 33    /// </summary>
 34    protected virtual void DisposeManagedResources()
 35    {
 3336    }
 37
 38    /// <summary>
 39    /// Disposes the object and releases all resources.
 40    /// </summary>
 41    /// <param name="disposing">Indicates whether the method is called from Dispose (true) or from a finalizer (false).<
 42    protected virtual void Dispose(bool disposing)
 43    {
 3344        if (IsDisposed)
 045            return;
 46
 3347        if (disposing)
 3348            DisposeManagedResources();
 49
 3350        IsDisposed = true;
 3351    }
 52
 53    /// <summary>
 54    /// Disposes the object and releases all resources.
 55    /// </summary>
 56    public void Dispose()
 57    {
 3358        Dispose(true);
 3359        GC.SuppressFinalize(this);
 3360    }
 61
 62    #endregion IDisposable Support
 63}
 64