< Summary

Information
Class: EF.Blockchain.Server.Mappers.TransactionMapper
Assembly: EF.Blockchain.Server
File(s): C:\dev\@web3\web3-001-ef-blockchain\backend\EF.Blockchain\src\EF.Blockchain.Server\Mappers\TransactionMapper.cs
Line coverage
93%
Covered lines: 31
Uncovered lines: 2
Coverable lines: 33
Total lines: 50
Line coverage: 93.9%
Branch coverage
70%
Covered branches: 14
Total branches: 20
Branch coverage: 70%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToDomain(...)70%101093.33%
ToDto(...)70%101094.44%

File(s)

C:\dev\@web3\web3-001-ef-blockchain\backend\EF.Blockchain\src\EF.Blockchain.Server\Mappers\TransactionMapper.cs

#LineLine coverage
 1using EF.Blockchain.Domain;
 2using EF.Blockchain.Server.Dtos;
 3
 4namespace EF.Blockchain.Server.Mappers;
 5
 6public static class TransactionMapper
 7{
 8    public static Transaction ToDomain(TransactionDto dto)
 249    {
 2410        if (dto == null)
 011            return null;
 12
 2413        var txInputs = dto.TxInputs?
 2414            .Select(TransactionInputMapper.ToDomain)
 2415            .ToList() ?? new List<TransactionInput>();
 16
 2417        var txOutputs = dto.TxOutputs?
 2418            .Select(TransactionOutputMapper.ToDomain)
 2419            .ToList() ?? new List<TransactionOutput>();
 20
 2421        return new Transaction(
 2422            type: dto.Type,
 2423            timestamp: dto.Timestamp,
 2424            txInputs: txInputs,
 2425            txOutputs: txOutputs);
 2426    }
 27
 28    public static TransactionDto ToDto(Transaction domain)
 7229    {
 7230        if (domain == null)
 031            return null;
 32
 7233        var txInputs = domain.TxInputs?
 7234            .Select(TransactionInputMapper.ToDto)
 7235            .ToList() ?? new List<TransactionInputDto>();
 36
 7237        var txOutputs = domain.TxOutputs?
 7238            .Select(TransactionOutputMapper.ToDto)
 7239            .ToList() ?? new List<TransactionOutputDto>();
 40
 7241        return new TransactionDto
 7242        {
 7243            Type = domain.Type,
 7244            Timestamp = domain.Timestamp,
 7245            Hash = domain.Hash,
 7246            TxInputs = txInputs,
 7247            TxOutputs = txOutputs
 7248        };
 7249    }
 50}