< Summary

Class:KernelConfigModel
Assembly:KernelConfiguration
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/KernelConfiguration/KernelConfigModel.cs
Covered lines:23
Uncovered lines:3
Coverable lines:26
Total lines:58
Line coverage:88.4% (23 of 26)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
KernelConfigModel()0%110100%
Equals(...)0%6200%
Equals(...)0%11.9711080%
Clone()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/KernelConfiguration/KernelConfigModel.cs

#LineLine coverage
 1using KernelConfigurationTypes;
 2using System;
 3using System.Collections.Generic;
 4
 5[Serializable]
 6public class KernelConfigModel
 7{
 88    public Features features = new Features();
 89    public Comms comms = new Comms();
 810    public Profiles profiles = new Profiles();
 11    public bool gifSupported = false;
 812    public string network = "mainnet";
 813    public List<WorldRange> validWorldRanges = new List<WorldRange>();
 814    public string kernelVersion = string.Empty;
 815    public string rendererVersion = string.Empty;
 16    public override bool Equals(object obj)
 17    {
 018        return obj is KernelConfigModel other && Equals(other);
 19    }
 20
 21    public bool Equals(KernelConfigModel other)
 22    {
 723        if (other == null)
 024            return false;
 25
 726        if (validWorldRanges.Count != other.validWorldRanges.Count)
 227            return false;
 28
 1229        for (var i = 0; i < validWorldRanges.Count; i++)
 30        {
 131            if (!validWorldRanges[i].Equals(other.validWorldRanges[i]))
 032                return false;
 33        }
 34
 535        return comms.Equals(other.comms)
 36               && profiles.Equals(other.profiles)
 37               && features.Equals(other.features)
 38               && gifSupported == other.gifSupported
 39               && network == other.network
 40               && kernelVersion == other.kernelVersion
 41               && rendererVersion == other.rendererVersion;
 42    }
 43
 44    public KernelConfigModel Clone()
 45    {
 46        // NOTE: We need to use deep clone
 247        KernelConfigModel clone = new KernelConfigModel();
 248        clone.comms = comms.Clone();
 249        clone.profiles = profiles.Clone();
 250        clone.features = features.Clone();
 251        clone.gifSupported = gifSupported;
 252        clone.network = network;
 253        clone.validWorldRanges = new List<WorldRange>(validWorldRanges);
 254        clone.kernelVersion = kernelVersion;
 255        clone.rendererVersion = rendererVersion;
 256        return clone;
 57    }
 58}