< Summary

Information
Class: c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Domain\Currencies\CurrencyCode.cs
Assembly: Default
File(s): c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Domain\Currencies\CurrencyCode.cs
Line coverage
100%
Covered lines: 82
Uncovered lines: 0
Coverable lines: 82
Total lines: 96
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Domain\Currencies\CurrencyCode.cs

#LineLine coverage
 1using Domain.Common;
 2
 3namespace Domain.Currencies
 4{
 5    public record CurrencyCode
 6    {
 247        protected internal CurrencyCode() { }
 18        internal static Error InvalidCodeError = new Error(ErrorCode.BadInput, "The currency code is invalid");
 9
 110        public static readonly CurrencyCode Usd = new("USD", "United States Dollar");
 111        public static readonly CurrencyCode Eur = new("EUR", "Euro");
 112        public static readonly CurrencyCode Aud = new("AUD", "Australian Dollar");
 113        public static readonly CurrencyCode Bgn = new("BGN", "Bulgarian Lev");
 114        public static readonly CurrencyCode Brl = new("BRL", "Brazilian Real");
 115        public static readonly CurrencyCode Cad = new("CAD", "Canadian Dollar");
 116        public static readonly CurrencyCode Chf = new("CHF", "Swiss Franc");
 117        public static readonly CurrencyCode Cny = new("CNY", "Chinese Renminbi Yuan");
 118        public static readonly CurrencyCode Czk = new("CZK", "Czech Koruna");
 119        public static readonly CurrencyCode Dkk = new("DKK", "Danish Krone");
 120        public static readonly CurrencyCode Gbp = new("GBP", "British Pound");
 121        public static readonly CurrencyCode Hkd = new("HKD", "Hong Kong Dollar");
 122        public static readonly CurrencyCode Huf = new("HUF", "Hungarian Forint");
 123        public static readonly CurrencyCode Idr = new("IDR", "Indonesian Rupiah");
 124        public static readonly CurrencyCode Ils = new("ILS", "Israeli New Sheqel");
 125        public static readonly CurrencyCode Inr = new("INR", "Indian Rupee");
 126        public static readonly CurrencyCode Isk = new("ISK", "Icelandic Króna");
 127        public static readonly CurrencyCode Jpy = new("JPY", "Japanese Yen");
 128        public static readonly CurrencyCode Krw = new("KRW", "South Korean Won");
 129        public static readonly CurrencyCode Mxn = new("MXN", "Mexican Peso");
 130        public static readonly CurrencyCode Myr = new("MYR", "Malaysian Ringgit");
 131        public static readonly CurrencyCode Nok = new("NOK", "Norwegian Krone");
 132        public static readonly CurrencyCode Nzd = new("NZD", "New Zealand Dollar");
 133        public static readonly CurrencyCode Php = new("PHP", "Philippine Peso");
 134        public static readonly CurrencyCode Pln = new("PLN", "Polish Złoty");
 135        public static readonly CurrencyCode Ron = new("RON", "Romanian Leu");
 136        public static readonly CurrencyCode Sek = new("SEK", "Swedish Krona");
 137        public static readonly CurrencyCode Sgd = new("SGD", "Singapore Dollar");
 138        public static readonly CurrencyCode Thb = new("THB", "Thai Baht");
 139        public static readonly CurrencyCode Try = new("TRY", "Turkish Lira");
 140        public static readonly CurrencyCode Zar = new("ZAR", "South African Rand");
 141        public static readonly CurrencyCode Hrk = new("HRK", "Croatian Kuna");
 142        public static readonly CurrencyCode Rub = new("RUB", "Russian Ruble");
 43
 3344        private CurrencyCode(string code, string description)
 3345        {
 3346            Value = code;
 3347            Description = description;
 3348        }
 49
 503850        public string Value { get; init; }
 9651        public string Description { get; init; }
 52
 53        public static Result<CurrencyCode> FromCode(string code)
 46654        {
 435955            return All.FirstOrDefault(c => c.Value == code) ??
 46656                   Result.Failure<CurrencyCode>(InvalidCodeError);
 46657        }
 58
 159        public static readonly IReadOnlyCollection<CurrencyCode> All = new[]
 160        {
 161            Usd,
 162            Eur,
 163            Aud,
 164            Bgn,
 165            Brl,
 166            Cad,
 167            Chf,
 168            Cny,
 169            Czk,
 170            Dkk,
 171            Gbp,
 172            Hkd,
 173            Huf,
 174            Idr,
 175            Ils,
 176            Inr,
 177            Isk,
 178            Jpy,
 179            Krw,
 180            Mxn,
 181            Myr,
 182            Nok,
 183            Nzd,
 184            Php,
 185            Pln,
 186            Ron,
 187            Sek,
 188            Sgd,
 189            Thb,
 190            Try,
 191            Zar,
 192            Hrk,
 193            Rub
 194        };
 95    }
 96}