< Summary

Class:RealmViewerComponentView
Assembly:ExploreV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/MainMenu/RealmViewer/RealmViewerComponentView.cs
Covered lines:21
Uncovered lines:3
Coverable lines:24
Total lines:76
Line coverage:87.5% (21 of 24)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Configure(...)0%110100%
RefreshControl()0%2.032080%
SetRealm(...)0%2.022083.33%
SetNumberOfUsers(...)0%4.054085.71%
RebuildLayouts()0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/MainMenu/RealmViewer/RealmViewerComponentView.cs

#LineLine coverage
 1using DCL.Helpers;
 2using TMPro;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6public interface IRealmViewerComponentView
 7{
 8    /// <summary>
 9    /// Set the realm label.
 10    /// </summary>
 11    /// <param name="newRealm">New realm.</param>
 12    void SetRealm(string newRealm);
 13
 14    /// <summary>
 15    /// Set the number of users label.
 16    /// </summary>
 17    /// <param name="newNumberOfUsers">New number of users.</param>
 18    void SetNumberOfUsers(int newNumberOfUsers);
 19}
 20
 21public class RealmViewerComponentView : BaseComponentView, IRealmViewerComponentView, IComponentModelConfig
 22{
 23    [Header("Prefab References")]
 24    [SerializeField] internal HorizontalLayoutGroup horizontalLayoutGroup;
 25    [SerializeField] internal TMP_Text realm;
 26    [SerializeField] internal TMP_Text numberOfusers;
 27
 28    [Header("Configuration")]
 29    [SerializeField] internal RealmViewerComponentModel model;
 30
 31    public void Configure(BaseComponentModel newModel)
 32    {
 133        model = (RealmViewerComponentModel)newModel;
 134        RefreshControl();
 135    }
 36
 37    public override void RefreshControl()
 38    {
 139        if (model == null)
 040            return;
 41
 142        SetRealm(model.realmName);
 143        SetNumberOfUsers(model.numberOfUsers);
 144    }
 45
 46    public void SetRealm(string newRealm)
 47    {
 248        model.realmName = newRealm;
 49
 250        if (realm == null)
 051            return;
 52
 253        realm.text = newRealm;
 54
 255        RebuildLayouts();
 256    }
 57
 58    public void SetNumberOfUsers(int newNumberOfUsers)
 59    {
 360        model.numberOfUsers = newNumberOfUsers;
 61
 362        if (numberOfusers == null)
 063            return;
 64
 365        float formattedUsersCount = newNumberOfUsers >= 1000 ? (newNumberOfUsers / 1000f) : newNumberOfUsers;
 366        numberOfusers.text = newNumberOfUsers >= 1000 ? $"{formattedUsersCount}k" : $"{formattedUsersCount}";
 67
 368        RebuildLayouts();
 369    }
 70
 71    internal void RebuildLayouts()
 72    {
 573        if (horizontalLayoutGroup != null)
 574            Utils.ForceRebuildLayoutImmediate(horizontalLayoutGroup.transform as RectTransform);
 575    }
 76}