< Summary

Class:DCL.SettingsPanelHUD.Controls.ToggleSettingsControlView
Assembly:SettingsPanelHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/SettingsPanelHUD/Scripts/ControlsModule/ToggleSettingsControlView.cs
Covered lines:15
Uncovered lines:4
Coverable lines:19
Total lines:52
Line coverage:78.9% (15 of 19)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:5
Method coverage:60% (3 of 5)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%110100%
OnDestroy()0%220100%
RefreshControl()0%220100%
OverrideToggleValue(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/SettingsPanelHUD/Scripts/ControlsModule/ToggleSettingsControlView.cs

#LineLine coverage
 1using DCL.SettingsCommon.SettingsControllers.BaseControllers;
 2using UnityEngine;
 3using UnityEngine.UI;
 4
 5namespace DCL.SettingsPanelHUD.Controls
 6{
 7    /// <summary>
 8    /// MonoBehaviour that represents the view of a TOGGLE type CONTROL.
 9    /// </summary>
 10    public class ToggleSettingsControlView : SettingsControlView
 11    {
 12        [SerializeField] private Toggle toggle;
 13
 014        public Toggle toggleControl { get => toggle; }
 15
 16        private ToggleSettingsControlController toggleController;
 17
 18        public override void Initialize(SettingsControlModel model, SettingsControlController controller)
 19        {
 1020            toggleController = (ToggleSettingsControlController)controller;
 1021            toggleController.ToggleValueChanged += OverrideToggleValue;
 22
 1023            base.Initialize(model, toggleController);
 1024            toggleController.UpdateSetting(toggle.isOn);
 25
 1026            toggle.onValueChanged.AddListener(isOn =>
 27            {
 028                ApplySetting(isOn);
 029            });
 1030        }
 31
 32        protected override void OnDestroy()
 33        {
 1234            if (toggleController != null)
 1035                toggleController.ToggleValueChanged -= OverrideToggleValue;
 36
 1237            base.OnDestroy();
 1238        }
 39
 40        public override void RefreshControl()
 41        {
 1042            base.RefreshControl();
 43
 1044            bool newValue = (bool)toggleController.GetStoredValue();
 1045            if (toggle.isOn != newValue)
 346                toggle.isOn = newValue;
 1047        }
 48
 49        private void OverrideToggleValue(bool newValue) =>
 050            toggle.isOn = newValue;
 51    }
 52}