< Summary

Class:DCL.SceneMetricsModel
Assembly:DCL.Runtime.Interfaces
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/Interfaces/SceneMetricsModel.cs
Covered lines:38
Uncovered lines:19
Coverable lines:57
Total lines:119
Line coverage:66.6% (38 of 57)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Clone()0%110100%
Equals(...)0%10.378066.67%
operator>(...)0%110100%
operator<(...)0%110100%
operator-(...)0%110100%
operator+(...)0%2100%
ToString()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/Interfaces/SceneMetricsModel.cs

#LineLine coverage
 1using System;
 2using UnityEngine;
 3
 4namespace DCL
 5{
 6    [System.Serializable]
 7    public class SceneMetricsModel: IEquatable<SceneMetricsModel>
 8    {
 9        public int meshes;
 10        public int bodies;
 11        public int materials;
 12        public int textures;
 13        public int triangles;
 14        public int entities;
 15        public float sceneHeight;
 16
 17        public long textureMemoryScore;
 18        public long meshMemoryScore;
 19        public long audioClipMemoryScore;
 20        public long animationClipMemoryScore;
 21
 22        public long textureMemoryProfiler;
 23        public long meshMemoryProfiler;
 24        public long audioClipMemoryProfiler;
 25        public long animationClipMemoryProfiler;
 26
 27        public long totalMemoryScore =>
 028            textureMemoryScore + meshMemoryScore + audioClipMemoryScore + animationClipMemoryScore;
 29
 30        public long totalMemoryProfiler =>
 031            textureMemoryProfiler + meshMemoryProfiler + audioClipMemoryProfiler + animationClipMemoryProfiler;
 32
 41833        public SceneMetricsModel Clone() { return (SceneMetricsModel) MemberwiseClone(); }
 34
 35        public bool Equals(SceneMetricsModel obj)
 36        {
 25337            if (obj == null)
 038                return false;
 39
 25340            return obj.meshes == meshes && obj.bodies == bodies && obj.materials == materials &&
 41                   obj.textures == textures && obj.triangles == triangles && obj.entities == entities && Mathf.Abs(obj.s
 42        }
 43
 44        public static bool operator >(SceneMetricsModel lhs, SceneMetricsModel rhs)
 45        {
 25346            int lhsValue = lhs.meshes + lhs.bodies + lhs.materials + lhs.textures + lhs.triangles + lhs.entities;
 25347            int rhsValue = rhs.meshes + rhs.bodies + rhs.materials + rhs.textures + rhs.triangles + rhs.entities;
 48
 25349            return lhsValue > rhsValue;
 50        }
 51
 52        public static bool operator <(SceneMetricsModel lhs, SceneMetricsModel rhs)
 53        {
 154            int lhsValue = lhs.meshes + lhs.bodies + lhs.materials + lhs.textures + lhs.triangles + lhs.entities;
 155            int rhsValue = rhs.meshes + rhs.bodies + rhs.materials + rhs.textures + rhs.triangles + rhs.entities;
 56
 157            return lhsValue < rhsValue;
 58        }
 59
 60        public static SceneMetricsModel operator -(SceneMetricsModel lhs, SceneMetricsModel rhs)
 61        {
 162            SceneMetricsModel result = lhs.Clone();
 163            result.bodies -= rhs.bodies;
 164            result.entities -= rhs.entities;
 165            result.materials -= rhs.materials;
 166            result.textures -= rhs.textures;
 167            result.meshes -= rhs.meshes;
 168            result.triangles -= rhs.triangles;
 169            result.meshMemoryScore -= rhs.meshMemoryScore;
 170            result.textureMemoryScore -= rhs.textureMemoryScore;
 171            result.animationClipMemoryScore -= rhs.animationClipMemoryScore;
 172            result.audioClipMemoryScore -= rhs.audioClipMemoryScore;
 173            result.meshMemoryProfiler -= rhs.meshMemoryProfiler;
 174            result.textureMemoryProfiler -= rhs.textureMemoryProfiler;
 175            result.animationClipMemoryProfiler -= rhs.animationClipMemoryProfiler;
 176            result.audioClipMemoryProfiler -= rhs.audioClipMemoryProfiler;
 177            return result;
 78        }
 79
 80        public static SceneMetricsModel operator +(SceneMetricsModel lhs, SceneMetricsModel rhs)
 81        {
 082            SceneMetricsModel result = lhs.Clone();
 083            result.bodies += rhs.bodies;
 084            result.entities += rhs.entities;
 085            result.materials += rhs.materials;
 086            result.textures += rhs.textures;
 087            result.meshes += rhs.meshes;
 088            result.triangles += rhs.triangles;
 089            result.meshMemoryScore += rhs.meshMemoryScore;
 090            result.textureMemoryScore += rhs.textureMemoryScore;
 091            result.animationClipMemoryScore += rhs.animationClipMemoryScore;
 092            result.audioClipMemoryScore += rhs.audioClipMemoryScore;
 093            result.meshMemoryProfiler += rhs.meshMemoryProfiler;
 094            result.textureMemoryProfiler += rhs.textureMemoryProfiler;
 095            result.animationClipMemoryProfiler += rhs.animationClipMemoryProfiler;
 096            result.audioClipMemoryProfiler += rhs.audioClipMemoryProfiler;
 097            return result;
 98        }
 99
 100        public override string ToString()
 101        {
 254102            string result = "";
 103
 254104            result += $"Textures: {textures}";
 254105            result += $"- Triangles: {triangles}";
 254106            result += $"- Meshes: {meshes}";
 254107            result += $"- Materials: {materials}";
 254108            result += $"- Entities: {entities}";
 254109            result += $"- Bodies: {bodies}";
 254110            result += $"- Scene Height: {sceneHeight}";
 254111            result += $"- Mesh Memory: {meshMemoryScore}";
 254112            result += $"- Texture Memory: {textureMemoryScore}";
 254113            result += $"- Audio Memory: {audioClipMemoryScore}";
 254114            result += $"- Animation Memory: {animationClipMemoryScore}";
 115
 254116            return result;
 117        }
 118    }
 119}