< Summary

Class:WearableLiterals
Assembly:AvatarAssets
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/AvatarAssets/WearableLiterals.cs
Covered lines:5
Uncovered lines:1
Coverable lines:6
Total lines:89
Line coverage:83.3% (5 of 6)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Categories()0%110100%
DefaultWearables()0%110100%
GetDefaultWearables(...)0%220100%
GetDefaultWearable(...)0%2.152066.67%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/AvatarAssets/WearableLiterals.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using System.Linq;
 3
 4public static class WearableLiterals
 5{
 6    public static class Misc
 7    {
 8        public const string HEAD = "head";
 9    }
 10
 11    public static class Tags
 12    {
 13        public const string BASE_WEARABLE = "base-wearable";
 14        public const string EXCLUSIVE = "exclusive";
 15    }
 16
 17    public static class Categories
 18    {
 19        public const string BODY_SHAPE = "body_shape";
 20        public const string UPPER_BODY = "upper_body";
 21        public const string LOWER_BODY = "lower_body";
 22        public const string FEET = "feet";
 23        public const string EYES = "eyes";
 24        public const string EYEBROWS = "eyebrows";
 25        public const string MOUTH = "mouth";
 26        public const string FACIAL = "facial";
 27        public const string HAIR = "hair";
 28
 29        //TODO: Implement an IReadOnlyCollection for HashSet to make them immutable
 130        public static readonly HashSet<string> ALL  = new HashSet<string>
 31        {
 32            UPPER_BODY,
 33            LOWER_BODY,
 34            EYEBROWS,
 35            FACIAL,
 36            MOUTH,
 37            FEET,
 38            EYES,
 39        };
 40    }
 41
 42    public static class BodyShapes
 43    {
 44        public const string FEMALE = "urn:decentraland:off-chain:base-avatars:BaseFemale";
 45        public const string MALE = "urn:decentraland:off-chain:base-avatars:BaseMale";
 46    }
 47
 48    public static class ItemRarity
 49    {
 50        public const string RARE = "rare";
 51        public const string EPIC = "epic";
 52        public const string LEGENDARY = "legendary";
 53        public const string MYTHIC = "mythic";
 54        public const string UNIQUE = "unique";
 55    }
 56
 57    public static class DefaultWearables
 58    {
 159        private static readonly Dictionary<(string, string), string> defaultWearables = new Dictionary<(string, string),
 60        {
 61            { (BodyShapes.MALE, Categories.EYES), "urn:decentraland:off-chain:base-avatars:eyes_00" },
 62            { (BodyShapes.MALE, Categories.EYEBROWS), "urn:decentraland:off-chain:base-avatars:eyebrows_00" },
 63            { (BodyShapes.MALE, Categories.MOUTH), "urn:decentraland:off-chain:base-avatars:mouth_00" },
 64            { (BodyShapes.MALE, Categories.HAIR), "urn:decentraland:off-chain:base-avatars:casual_hair_01" },
 65            { (BodyShapes.MALE, Categories.FACIAL), "urn:decentraland:off-chain:base-avatars:beard" },
 66            { (BodyShapes.MALE, Categories.UPPER_BODY), "urn:decentraland:off-chain:base-avatars:green_hoodie" },
 67            { (BodyShapes.MALE, Categories.LOWER_BODY), "urn:decentraland:off-chain:base-avatars:brown_pants" },
 68            { (BodyShapes.MALE, Categories.FEET), "urn:decentraland:off-chain:base-avatars:sneakers" },
 69
 70            { (BodyShapes.FEMALE, Categories.EYES), "urn:decentraland:off-chain:base-avatars:f_eyes_00" },
 71            { (BodyShapes.FEMALE, Categories.EYEBROWS), "urn:decentraland:off-chain:base-avatars:f_eyebrows_00" },
 72            { (BodyShapes.FEMALE, Categories.MOUTH), "urn:decentraland:off-chain:base-avatars:f_mouth_00" },
 73            { (BodyShapes.FEMALE, Categories.HAIR), "urn:decentraland:off-chain:base-avatars:standard_hair" },
 74            { (BodyShapes.FEMALE, Categories.UPPER_BODY), "urn:decentraland:off-chain:base-avatars:f_sweater" },
 75            { (BodyShapes.FEMALE, Categories.LOWER_BODY), "urn:decentraland:off-chain:base-avatars:f_jeans" },
 76            { (BodyShapes.FEMALE, Categories.FEET), "urn:decentraland:off-chain:base-avatars:bun_shoes" },
 77        };
 78
 110979        public static string[] GetDefaultWearables(string bodyShapeId) => defaultWearables.Where(x => x.Key.Item1 == bod
 80
 81        public static string GetDefaultWearable(string bodyShapeId, string category)
 82        {
 53483            if (!defaultWearables.ContainsKey((bodyShapeId, category)))
 084                return null;
 85
 53486            return defaultWearables[(bodyShapeId, category)];
 87        }
 88    }
 89}