< Summary

Information
Class: Domain.Core.ValueObject.TipoCategoria
Assembly: Despesas.Domain
File(s): /src/Despesas.Domain/Core/ValueObject/TipoCategoria.cs
Line coverage
84%
Covered lines: 22
Uncovered lines: 4
Coverable lines: 26
Total lines: 45
Line coverage: 84.6%
Branch coverage
40%
Covered branches: 4
Total branches: 10
Branch coverage: 40%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
op_Implicit(...)100%11100%
op_Implicit(...)100%11100%
op_Equality(...)0%620%
op_Inequality(...)50%22100%
get_Id()100%11100%
get_Name()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
.ctor(...)100%11100%
GetTipoCategoriaName(...)50%7666.66%

File(s)

/src/Despesas.Domain/Core/ValueObject/TipoCategoria.cs

#LineLine coverage
 1namespace Domain.Core.ValueObject;
 2public record TipoCategoria
 3{
 34    public static implicit operator CategoriaType(TipoCategoria tc) => (CategoriaType)tc.Id;
 7375    public static implicit operator TipoCategoria(int tipoCategoria) => new TipoCategoria((int)tipoCategoria);
 06    public static bool operator ==(TipoCategoria tipoCategoria, CategoriaType tipoCategoriaType) => tipoCategoria?.Id ==
 47    public static bool operator !=(TipoCategoria tipoCategoria, CategoriaType tipoCategoriaType) => !(tipoCategoria?.Id 
 8
 9    public enum CategoriaType
 10    {
 11        Invalid = 0,
 12        Despesa = 1,
 13        Receita = 2
 14    }
 218715    public int Id { get; set; }
 244716    public string Name { get; set; } = string.Empty;
 17
 6618    public TipoCategoria() { }
 19
 73920    public TipoCategoria(int id)
 73921    {
 73922        Id = id;
 73923        Name = GetTipoCategoriaName((int)id);
 73924    }
 25
 47326    public TipoCategoria(CategoriaType tipoCategoria)
 47327    {
 47328        Id = (int)tipoCategoria;
 47329        Name = GetTipoCategoriaName((int)tipoCategoria);
 47330    }
 31
 32    private static string GetTipoCategoriaName(int tipoCategoria)
 121233    {
 121234        if ((int)CategoriaType.Despesa == tipoCategoria)
 60135            return "Despesa";
 61136        else if ((int)CategoriaType.Receita == tipoCategoria)
 61137            return "Receita";
 038        else if ((int)CategoriaType.Invalid == tipoCategoria)
 039            return "Invalid";
 40
 41
 042        throw new ArgumentException("Tipo de Categoria inexistente!");
 121243    }
 44}
 45