< Summary

Information
Class: MyNet.UI.Navigation.NavigationJournal
Assembly: MyNet.UI
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.UI/Navigation/NavigationJournal.cs
Tag: 323_28699572109
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 52
Line coverage: 100%
Branch coverage
66%
Covered branches: 8
Total branches: 12
Branch coverage: 66.6%
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_BackStack()100%22100%
get_ForwardStack()100%22100%
PeekBack()50%22100%
PeekForward()50%22100%
PushBack(...)100%11100%
PushForward(...)100%11100%
PopBack()50%22100%
PopForward()50%22100%
Clear()100%11100%
ClearForward()100%11100%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.UI/Navigation/NavigationJournal.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="NavigationJournal.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System.Collections.Generic;
 8using MyNet.UI.Navigation.Models;
 9
 10namespace MyNet.UI.Navigation;
 11
 12/// <inheritdoc />
 13public sealed class NavigationJournal : INavigationJournal
 14{
 4215    private readonly Stack<NavigationContext> _back = new();
 4216    private readonly Stack<NavigationContext> _forward = new();
 17
 18    /// <inheritdoc />
 2119    public IReadOnlyList<NavigationContext> BackStack => [.. _back];
 20
 21    /// <inheritdoc />
 1822    public IReadOnlyList<NavigationContext> ForwardStack => [.. _forward];
 23
 24    /// <inheritdoc />
 1225    public NavigationContext? PeekBack() => _back.Count > 0 ? _back.Peek() : null;
 26
 27    /// <inheritdoc />
 928    public NavigationContext? PeekForward() => _forward.Count > 0 ? _forward.Peek() : null;
 29
 30    /// <inheritdoc />
 2431    public void PushBack(NavigationContext context) => _back.Push(context);
 32
 33    /// <inheritdoc />
 934    public void PushForward(NavigationContext context) => _forward.Push(context);
 35
 36    /// <inheritdoc />
 937    public NavigationContext? PopBack() => _back.Count > 0 ? _back.Pop() : null;
 38
 39    /// <inheritdoc />
 940    public NavigationContext? PopForward() => _forward.Count > 0 ? _forward.Pop() : null;
 41
 42    /// <inheritdoc />
 43    public void Clear()
 44    {
 645        _back.Clear();
 646        _forward.Clear();
 647    }
 48
 49    /// <inheritdoc />
 4550    public void ClearForward() => _forward.Clear();
 51}
 52