< Summary

Class:KeyDetector
Assembly:Test
File(s):D:/--UnityProject/VR/VRExplorer_subjects/Edutainment-Escape-Room/Assets/Scripts/Test/Keypad/KeyDetector.cs
Covered lines:49
Uncovered lines:3
Coverable lines:52
Total lines:84
Line coverage:94.2% (49 of 52)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:2
Method coverage:100% (2 of 2)

Coverage History

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Start()0%000100%
OnTriggerEnter(...)0%00093.18%

File(s)

D:/--UnityProject/VR/VRExplorer_subjects/Edutainment-Escape-Room/Assets/Scripts/Test/Keypad/KeyDetector.cs

#LineLine coverage
 1using System;
 2using TMPro;
 3using UnityEngine;
 4using UnityEngine.SceneManagement;
 5
 6
 7public class KeyDetector : MonoBehaviour
 8{
 9
 10    private TextMeshPro display;
 11
 12    private KeyPadControll keyPadControll;
 13
 14    [SerializeField] string displayTag;
 15    [SerializeField] string keypadTag;
 16    [SerializeField] string keypadButtonTag;
 17
 18    // Start is called before the first frame update
 19    void Start()
 4220    {
 4221        Scene scene = SceneManager.GetActiveScene();
 4222        if (scene.name == "EscapeRoom")
 4223        {
 4224            display = GameObject.FindGameObjectWithTag(displayTag).GetComponentInChildren<TextMeshPro>();
 25
 4226            keyPadControll = GameObject.FindGameObjectWithTag(keypadTag).GetComponent<KeyPadControll>();
 27
 4228        }
 4229    }
 30
 31    private void OnTriggerEnter(Collider other)
 392232    {
 392233        if (other.CompareTag(keypadButtonTag))
 3634        {
 3635            var key = other.GetComponentInChildren<TextMeshPro>();
 3636            if (key != null)
 3637            {
 3638                var KeyFeedback = other.gameObject.GetComponent<KeyFeedback>();
 39
 3640                KeyFeedback.keyHit = true;
 41
 3642                var accessGranted = false;
 3643                bool onlyNumbers = int.TryParse(display.text, out int value);
 44
 3645                if (onlyNumbers == false)
 646                {
 647                    display.text = "";
 648                }
 49
 50                //make sure max 4 numbers
 3651                if(key.text == "Back")
 352                {
 353                    if (display.text.Length > 0)
 354                    {
 355                        display.text = display.text.Remove(display.text.Length - 1, 1);
 356                    }
 357                }
 3358                else if(key.text == "Confirm")
 359                {
 360                    if (display.text.Length > 0)
 361                    {
 362                        accessGranted = keyPadControll.CheckIfCorrect(Convert.ToInt32(display.text));
 363                        if (accessGranted)
 064                        {
 065                            display.text = "Correct";
 066                        }
 67                        else
 368                        {
 369                            display.text = "Retry";
 370                        }
 371                    }
 372                }
 73                else
 3074                {
 3075                    if (display.text.Length < 4)
 2176                    {
 2177                        display.text += key.text;
 2178                    }
 3079                }
 3680            }
 81
 3682        }
 392283    }
 84}