< Summary - Combined Code Coverage

Information
Class: NLightning.Infrastructure.Transport.Factories.TransportServiceFactory
Assembly: NLightning.Infrastructure
File(s): /home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure/Transport/Factories/TransportServiceFactory.cs
Tag: 30_15166811759
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 43
Line coverage: 0%
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%210%
CreateTransportService(...)100%210%

File(s)

/home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure/Transport/Factories/TransportServiceFactory.cs

#LineLine coverage
 1using System.Net.Sockets;
 2using Microsoft.Extensions.Logging;
 3using Microsoft.Extensions.Options;
 4
 5namespace NLightning.Infrastructure.Transport.Factories;
 6
 7using Domain.Node.Options;
 8using Domain.Protocol.Factories;
 9using Domain.Serialization.Messages;
 10using Domain.Transport;
 11using Services;
 12
 13/// <summary>
 14/// Factory for creating a transport service.
 15/// </summary>
 16/// <remarks>
 17/// This class is used to create a transport service in test environments.
 18/// </remarks>
 19public sealed class TransportServiceFactory : ITransportServiceFactory
 20{
 21    private readonly ILoggerFactory _loggerFactory;
 22    private readonly IMessageSerializer _messageSerializer;
 23    private readonly NodeOptions _nodeOptions;
 24
 025    public TransportServiceFactory(ILoggerFactory loggerFactory, IMessageSerializer messageSerializer,
 026                                   IOptions<NodeOptions> nodeOptions)
 27    {
 028        _loggerFactory = loggerFactory;
 029        _messageSerializer = messageSerializer;
 030        _nodeOptions = nodeOptions.Value;
 031    }
 32
 33    /// <inheritdoc />
 34    public ITransportService CreateTransportService(bool isInitiator, ReadOnlySpan<byte> s, ReadOnlySpan<byte> rs,
 35                                                    TcpClient tcpClient)
 36    {
 37        // Create a specific logger for the TransportService class
 038        var logger = _loggerFactory.CreateLogger<TransportService>();
 39
 040        return new TransportService(logger, _messageSerializer, _nodeOptions.NetworkTimeout, isInitiator, s, rs,
 041                                    tcpClient);
 42    }
 43}