< Summary

Information
Class: CounterDrone.Core.Simulation.DetectionEntity
Assembly: CounterDrone.Core
File(s): C:\Users\Tellme\apps\CounterDroneBackend\src\CounterDrone.Core\Simulation\DetectionEntity.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 20
Coverable lines: 20
Total lines: 32
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%210%
get_PosX()100%210%
get_PosY()100%210%
get_PosZ()100%210%
get_DetectionRadius()100%210%
.ctor(...)100%210%
CanDetect(...)100%210%

File(s)

C:\Users\Tellme\apps\CounterDroneBackend\src\CounterDrone.Core\Simulation\DetectionEntity.cs

#LineLine coverage
 1using System;
 2using CounterDrone.Core.Models;
 3
 4namespace CounterDrone.Core.Simulation
 5{
 6    public class DetectionEntity
 7    {
 08        public string Id { get; }
 09        public float PosX { get; }
 010        public float PosY { get; }
 011        public float PosZ { get; }
 012        public float DetectionRadius { get; }
 13
 014        public DetectionEntity(string id, EquipmentDeployment config)
 015        {
 016            Id = id;
 017            PosX = (float)config.PositionX;
 018            PosY = (float)config.PositionY;
 019            PosZ = (float)config.PositionZ;
 020            DetectionRadius = (float)(config.DetectionRadius ?? 5000f);
 021        }
 22
 23        public bool CanDetect(DroneEntity drone)
 024        {
 025            var dx = drone.PosX - PosX;
 026            var dy = drone.PosY - PosY;
 027            var dz = drone.PosZ - PosZ;
 028            var dist = (float)Math.Sqrt(dx * dx + dy * dy + dz * dz);
 029            return dist <= DetectionRadius;
 030        }
 31    }
 32}