< 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:17
Uncovered lines:3
Coverable lines:20
Total lines:71
Line coverage:85% (17 of 20)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
PostInitialization()0%110100%
Configure(...)0%110100%
RefreshControl()0%2.032080%
SetRealm(...)0%2.032080%
SetNumberOfUsers(...)0%4.074083.33%

File(s)

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

#LineLine coverage
 1using TMPro;
 2using UnityEngine;
 3
 4public interface IRealmViewerComponentView
 5{
 6    /// <summary>
 7    /// Fill the model and updates the realm viewer with this data.
 8    /// </summary>
 9    /// <param name="model">Data to configure the real viewer.</param>
 10    void Configure(RealmViewerComponentModel model);
 11
 12    /// <summary>
 13    /// Set the realm label.
 14    /// </summary>
 15    /// <param name="newRealm">New realm.</param>
 16    void SetRealm(string newRealm);
 17
 18    /// <summary>
 19    /// Set the number of users label.
 20    /// </summary>
 21    /// <param name="newNumberOfUsers">New number of users.</param>
 22    void SetNumberOfUsers(int newNumberOfUsers);
 23}
 24
 25public class RealmViewerComponentView : BaseComponentView, IRealmViewerComponentView
 26{
 27    [Header("Prefab References")]
 28    [SerializeField] internal TMP_Text realm;
 29    [SerializeField] internal TMP_Text numberOfusers;
 30
 31    [Header("Configuration")]
 32    [SerializeField] internal RealmViewerComponentModel model;
 33
 3434    public override void PostInitialization() { Configure(model); }
 35
 36    public virtual void Configure(RealmViewerComponentModel model)
 37    {
 1838        this.model = model;
 1839        RefreshControl();
 1840    }
 41
 42    public override void RefreshControl()
 43    {
 1944        if (model == null)
 045            return;
 46
 1947        SetRealm(model.realmName);
 1948        SetNumberOfUsers(model.numberOfUsers);
 1949    }
 50
 51    public void SetRealm(string newRealm)
 52    {
 2053        model.realmName = newRealm;
 54
 2055        if (realm == null)
 056            return;
 57
 2058        realm.text = newRealm;
 2059    }
 60
 61    public void SetNumberOfUsers(int newNumberOfUsers)
 62    {
 2163        model.numberOfUsers = newNumberOfUsers;
 64
 2165        if (numberOfusers == null)
 066            return;
 67
 2168        float formattedUsersCount = newNumberOfUsers >= 1000 ? (newNumberOfUsers / 1000f) : newNumberOfUsers;
 2169        numberOfusers.text = newNumberOfUsers >= 1000 ? $"{formattedUsersCount}k" : $"{formattedUsersCount}";
 2170    }
 71}