296 lines
65 KiB
HTML
296 lines
65 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1" />
|
|
<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAn1BMVEUAAADCAAAAAAA3yDfUAAA3yDfUAAA8PDzr6+sAAAD4+Pg3yDeQkJDTAADt7e3V1dU3yDdCQkIAAADbMTHUAABBykHUAAA2yDY3yDfr6+vTAAB3diDR0dGYcHDUAAAjhiPSAAA3yDeuAADUAAA3yDf////OCALg9+BLzktBuzRelimzKgv87+/dNTVflSn1/PWz6rO126g5yDlYniy0KgwjJ0TyAAAAI3RSTlMABAj0WD6rJcsN7X1HzMqUJyYW+/X08+bltqSeaVRBOy0cE+citBEAAADBSURBVDjLlczXEoIwFIThJPYGiL0XiL3r+z+bBOJs9JDMuLffP8v+Gxfc6aIyDQVjQcnqnvRDEQwLJYtXpZT+YhDHKIjLbS+OUeT4TjkKi6OwOArq+yeKXD9uDqQQbcOjyCy0e6bTojZSftX+U6zUQ7OuittDu1k0WHqRFfdXQijgjKfF6ZwAikvmKD6OQjmKWUcDigkztm5FZN05nMON9ZcoinlBmTNnAUdBnRbUUbgdBZwWbkcBpwXcVsBtxfjb31j1QB5qeebOAAAAAElFTkSuQmCC" rel="icon" type="image/x-icon" />
|
|
<title>CounterDrone.Core.Simulation.DroneEntity - Coverage Report</title>
|
|
<link rel="stylesheet" type="text/css" href="report.css" />
|
|
</head><body><div class="container"><div class="containerleft">
|
|
<h1><a href="index.html" class="back"><</a> Summary</h1>
|
|
<div class="card-group">
|
|
<div class="card">
|
|
<div class="card-header">Information</div>
|
|
<div class="card-body">
|
|
<div class="table">
|
|
<table>
|
|
<tr>
|
|
<th>Class:</th>
|
|
<td class="limit-width " title="CounterDrone.Core.Simulation.DroneEntity">CounterDrone.Core.Simulation.DroneEntity</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Assembly:</th>
|
|
<td class="limit-width " title="CounterDrone.Core">CounterDrone.Core</td>
|
|
</tr>
|
|
<tr>
|
|
<th>File(s):</th>
|
|
<td class="overflow-wrap"><a href="#CUsersTellmeappsCounterDroneBackendsrcCounterDroneCoreSimulationDroneEntitycs" class="navigatetohash">C:\Users\Tellme\apps\CounterDroneBackend\src\CounterDrone.Core\Simulation\DroneEntity.cs</a></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-group">
|
|
<div class="card">
|
|
<div class="card-header">Line coverage</div>
|
|
<div class="card-body">
|
|
<div class="large cardpercentagebar cardpercentagebar10">90%</div>
|
|
<div class="table">
|
|
<table>
|
|
<tr>
|
|
<th>Covered lines:</th>
|
|
<td class="limit-width right" title="81">81</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Uncovered lines:</th>
|
|
<td class="limit-width right" title="9">9</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Coverable lines:</th>
|
|
<td class="limit-width right" title="90">90</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Total lines:</th>
|
|
<td class="limit-width right" title="125">125</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Line coverage:</th>
|
|
<td class="limit-width right" title="81 of 90">90%</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">Branch coverage</div>
|
|
<div class="card-body">
|
|
<div class="large cardpercentagebar cardpercentagebar12">87%</div>
|
|
<div class="table">
|
|
<table>
|
|
<tr>
|
|
<th>Covered branches:</th>
|
|
<td class="limit-width right" title="21">21</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Total branches:</th>
|
|
<td class="limit-width right" title="24">24</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Branch coverage:</th>
|
|
<td class="limit-width right" title="21 of 24">87.5%</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">Method coverage</div>
|
|
<div class="card-body">
|
|
<div class="center">
|
|
<p>Feature is only available for sponsors</p>
|
|
<a class="pro-button" href="https://reportgenerator.io/pro" target="_blank">Upgrade to PRO version</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h1>Metrics</h1>
|
|
<div class="table-responsive">
|
|
<table class="overview table-fixed">
|
|
<colgroup>
|
|
<col class="column-min-200" />
|
|
<col class="column105" />
|
|
<col class="column105" />
|
|
<col class="column105" />
|
|
<col class="column105" />
|
|
</colgroup>
|
|
<thead><tr><th>Method</th><th>Branch coverage <a href="https://en.wikipedia.org/wiki/Code_coverage" target="_blank"><i class="icon-info-circled"></i></a></th><th>Crap Score <a href="https://googletesting.blogspot.de/2011/02/this-code-is-crap.html" target="_blank"><i class="icon-info-circled"></i></a></th><th>Cyclomatic complexity <a href="https://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank"><i class="icon-info-circled"></i></a></th><th>Line coverage <a href="https://en.wikipedia.org/wiki/Code_coverage" target="_blank"><i class="icon-info-circled"></i></a></th></tr></thead>
|
|
<tbody>
|
|
<tr><td title="get_Id()"><a href="#file0_line10" class="navigatetohash">get_Id()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_GroupId()"><a href="#file0_line11" class="navigatetohash">get_GroupId()</a></td><td>100%</td><td>2</td><td>1</td><td>0%</td></tr>
|
|
<tr><td title="get_TargetType()"><a href="#file0_line12" class="navigatetohash">get_TargetType()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_PowerType()"><a href="#file0_line13" class="navigatetohash">get_PowerType()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_Wingspan()"><a href="#file0_line14" class="navigatetohash">get_Wingspan()</a></td><td>100%</td><td>2</td><td>1</td><td>0%</td></tr>
|
|
<tr><td title="get_TypicalSpeed()"><a href="#file0_line15" class="navigatetohash">get_TypicalSpeed()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_Route()"><a href="#file0_line16" class="navigatetohash">get_Route()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_CurrentWaypointIndex()"><a href="#file0_line17" class="navigatetohash">get_CurrentWaypointIndex()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_PosX()"><a href="#file0_line18" class="navigatetohash">get_PosX()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_PosY()"><a href="#file0_line19" class="navigatetohash">get_PosY()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_PosZ()"><a href="#file0_line20" class="navigatetohash">get_PosZ()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_Hp()"><a href="#file0_line21" class="navigatetohash">get_Hp()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_Status()"><a href="#file0_line22" class="navigatetohash">get_Status()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_ExposureTime()"><a href="#file0_line23" class="navigatetohash">get_ExposureTime()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_FormationOffsetX()"><a href="#file0_line24" class="navigatetohash">get_FormationOffsetX()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title="get_FormationOffsetY()"><a href="#file0_line25" class="navigatetohash">get_FormationOffsetY()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
<tr><td title=".ctor(System.String,System.String,CounterDrone.Core.Models.TargetConfig,System.Collections.Generic.List`1<CounterDrone.Core.Models.Waypoint>,System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)"><a href="#file0_line27" class="navigatetohash">.ctor(...)</a></td><td>100%</td><td>2</td><td>2</td><td>100%</td></tr>
|
|
<tr><td title="ApplyFormationOffset(System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)"><a href="#file0_line51" class="navigatetohash">ApplyFormationOffset(...)</a></td><td>66.66%</td><td>8</td><td>6</td><td>63.63%</td></tr>
|
|
<tr><td title="Update(System.Single,System.Single,CounterDrone.Core.Models.WindDirection)"><a href="#file0_line68" class="navigatetohash">Update(...)</a></td><td>91.66%</td><td>12</td><td>12</td><td>90.62%</td></tr>
|
|
<tr><td title="ApplyDamage(System.Single)"><a href="#file0_line110" class="navigatetohash">ApplyDamage(...)</a></td><td>100%</td><td>4</td><td>4</td><td>100%</td></tr>
|
|
<tr><td title="MarkZoneIntruded()"><a href="#file0_line121" class="navigatetohash">MarkZoneIntruded()</a></td><td>100%</td><td>1</td><td>1</td><td>100%</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<h1>File(s)</h1>
|
|
<h2 id="CUsersTellmeappsCounterDroneBackendsrcCounterDroneCoreSimulationDroneEntitycs">C:\Users\Tellme\apps\CounterDroneBackend\src\CounterDrone.Core\Simulation\DroneEntity.cs</h2>
|
|
<div class="table-responsive">
|
|
<table class="lineAnalysis">
|
|
<thead><tr><th></th><th>#</th><th>Line</th><th></th><th>Line coverage</th></tr></thead>
|
|
<tbody>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line1"></a><code>1</code></td><td></td><td class="lightgray"><code>using System;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line2"></a><code>2</code></td><td></td><td class="lightgray"><code>using System.Collections.Generic;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line3"></a><code>3</code></td><td></td><td class="lightgray"><code>using CounterDrone.Core.Algorithms;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line4"></a><code>4</code></td><td></td><td class="lightgray"><code>using CounterDrone.Core.Models;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line5"></a><code>5</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line6"></a><code>6</code></td><td></td><td class="lightgray"><code>namespace CounterDrone.Core.Simulation</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line7"></a><code>7</code></td><td></td><td class="lightgray"><code>{</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line8"></a><code>8</code></td><td></td><td class="lightgray"><code> public class DroneEntity</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line9"></a><code>9</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5555 visits)" data-coverage="{'AllTestMethods': {'VC': '5555', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5555</td><td class="rightmargin right"><a id="file0_line10"></a><code>10</code></td><td></td><td class="lightgreen"><code> public string Id { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line11"></a><code>11</code></td><td></td><td class="lightred"><code> public string GroupId { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (25 visits)" data-coverage="{'AllTestMethods': {'VC': '25', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">25</td><td class="rightmargin right"><a id="file0_line12"></a><code>12</code></td><td></td><td class="lightgreen"><code> public TargetType TargetType { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (25 visits)" data-coverage="{'AllTestMethods': {'VC': '25', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">25</td><td class="rightmargin right"><a id="file0_line13"></a><code>13</code></td><td></td><td class="lightgreen"><code> public PowerType PowerType { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line14"></a><code>14</code></td><td></td><td class="lightred"><code> public float Wingspan { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line15"></a><code>15</code></td><td></td><td class="lightgreen"><code> public float TypicalSpeed { get; } // km/h</code></td></tr>
|
|
<tr class="coverableline" title="Covered (16640 visits)" data-coverage="{'AllTestMethods': {'VC': '16640', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">16640</td><td class="rightmargin right"><a id="file0_line16"></a><code>16</code></td><td></td><td class="lightgreen"><code> public List<Waypoint> Route { get; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (11105 visits)" data-coverage="{'AllTestMethods': {'VC': '11105', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11105</td><td class="rightmargin right"><a id="file0_line17"></a><code>17</code></td><td></td><td class="lightgreen"><code> public int CurrentWaypointIndex { get; private set; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (33759 visits)" data-coverage="{'AllTestMethods': {'VC': '33759', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">33759</td><td class="rightmargin right"><a id="file0_line18"></a><code>18</code></td><td></td><td class="lightgreen"><code> public float PosX { get; private set; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (33753 visits)" data-coverage="{'AllTestMethods': {'VC': '33753', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">33753</td><td class="rightmargin right"><a id="file0_line19"></a><code>19</code></td><td></td><td class="lightgreen"><code> public float PosY { get; private set; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (33710 visits)" data-coverage="{'AllTestMethods': {'VC': '33710', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">33710</td><td class="rightmargin right"><a id="file0_line20"></a><code>20</code></td><td></td><td class="lightgreen"><code> public float PosZ { get; private set; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (11193 visits)" data-coverage="{'AllTestMethods': {'VC': '11193', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11193</td><td class="rightmargin right"><a id="file0_line21"></a><code>21</code></td><td></td><td class="lightgreen"><code> public float Hp { get; private set; } = 1.0f;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (33359 visits)" data-coverage="{'AllTestMethods': {'VC': '33359', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">33359</td><td class="rightmargin right"><a id="file0_line22"></a><code>22</code></td><td></td><td class="lightgreen"><code> public DroneStatus Status { get; private set; } = DroneStatus.Flying;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (75 visits)" data-coverage="{'AllTestMethods': {'VC': '75', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">75</td><td class="rightmargin right"><a id="file0_line23"></a><code>23</code></td><td></td><td class="lightgreen"><code> public float ExposureTime { get; set; } // 在云团中的累计暴露时间</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line24"></a><code>24</code></td><td></td><td class="lightgreen"><code> public float FormationOffsetX { get; set; }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (21 visits)" data-coverage="{'AllTestMethods': {'VC': '21', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">21</td><td class="rightmargin right"><a id="file0_line25"></a><code>25</code></td><td></td><td class="lightgreen"><code> public float FormationOffsetY { get; set; }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line26"></a><code>26</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line27"></a><code>27</code></td><td></td><td class="lightgreen"><code> public DroneEntity(string id, string groupId, TargetConfig config, List<Waypoint> route, int formationIndex, flo</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line28"></a><code>28</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line29"></a><code>29</code></td><td></td><td class="lightgreen"><code> Id = id;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line30"></a><code>30</code></td><td></td><td class="lightgreen"><code> GroupId = groupId;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line31"></a><code>31</code></td><td></td><td class="lightgreen"><code> TargetType = (TargetType)config.TargetType;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line32"></a><code>32</code></td><td></td><td class="lightgreen"><code> PowerType = (PowerType)config.PowerType;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line33"></a><code>33</code></td><td></td><td class="lightgreen"><code> Wingspan = (float)config.Wingspan;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line34"></a><code>34</code></td><td></td><td class="lightgreen"><code> TypicalSpeed = (float)config.TypicalSpeed;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line35"></a><code>35</code></td><td></td><td class="lightgreen"><code> Route = route;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line36"></a><code>36</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line37"></a><code>37</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (route.Count > 0)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line38"></a><code>38</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line39"></a><code>39</code></td><td></td><td class="lightgreen"><code> PosX = (float)route[0].PosX;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line40"></a><code>40</code></td><td></td><td class="lightgreen"><code> PosY = (float)route[0].PosY;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line41"></a><code>41</code></td><td></td><td class="lightgreen"><code> PosZ = (float)route[0].PosZ;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line42"></a><code>42</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line43"></a><code>43</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line44"></a><code>44</code></td><td></td><td class="lightgray"><code> // 编队偏移</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line45"></a><code>45</code></td><td></td><td class="lightgreen"><code> ApplyFormationOffset(formationIndex, spacing, mode);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line46"></a><code>46</code></td><td></td><td class="lightgreen"><code> PosX += FormationOffsetX;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line47"></a><code>47</code></td><td></td><td class="lightgreen"><code> PosY += FormationOffsetY;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line48"></a><code>48</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line49"></a><code>49</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line50"></a><code>50</code></td><td></td><td class="lightgray"><code> private void ApplyFormationOffset(int index, float spacing, FormationMode mode)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line51"></a><code>51</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (39 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '39', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">39</td><td class="rightmargin right"><a id="file0_line52"></a><code>52</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (index == 0) return;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line53"></a><code>53</code></td><td></td><td class="lightgreen"><code> var offset = spacing * index;</code></td></tr>
|
|
<tr class="coverableline" title="Partially covered (1 visits, 2 of 4 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'orange'}}"><td class="orange"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line54"></a><code>54</code></td><td class="percentagebar percentagebar50"><i class="icon-fork"></i></td><td class="lightorange"><code> switch (mode)</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line55"></a><code>55</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line56"></a><code>56</code></td><td></td><td class="lightgray"><code> case FormationMode.Formation:</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line57"></a><code>57</code></td><td></td><td class="lightgreen"><code> FormationOffsetY = offset; // 沿 Y 轴横队排列</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line58"></a><code>58</code></td><td></td><td class="lightgreen"><code> break;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line59"></a><code>59</code></td><td></td><td class="lightgray"><code> case FormationMode.Swarm:</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line60"></a><code>60</code></td><td></td><td class="lightred"><code> var rng = new Random(index * 137);</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line61"></a><code>61</code></td><td></td><td class="lightred"><code> FormationOffsetX = (float)(rng.NextDouble() - 0.5) * spacing * 3;</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line62"></a><code>62</code></td><td></td><td class="lightred"><code> FormationOffsetY = (float)(rng.NextDouble() - 0.5) * spacing * 3;</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line63"></a><code>63</code></td><td></td><td class="lightred"><code> break;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line64"></a><code>64</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (20 visits)" data-coverage="{'AllTestMethods': {'VC': '20', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">20</td><td class="rightmargin right"><a id="file0_line65"></a><code>65</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line66"></a><code>66</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line67"></a><code>67</code></td><td></td><td class="lightgray"><code> public void Update(float deltaTime, float windSpeed, WindDirection windDir)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line68"></a><code>68</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line69"></a><code>69</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (Status != DroneStatus.Flying) return;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line70"></a><code>70</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (Route.Count == 0) return;</code></td></tr>
|
|
<tr class="coverableline" title="Partially covered (5545 visits, 1 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'orange'}}"><td class="orange"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line71"></a><code>71</code></td><td class="percentagebar percentagebar50"><i class="icon-fork"></i></td><td class="lightorange"><code> if (CurrentWaypointIndex >= Route.Count - 1)</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line72"></a><code>72</code></td><td></td><td class="lightred"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line73"></a><code>73</code></td><td></td><td class="lightred"><code> Status = DroneStatus.ReachedTarget;</code></td></tr>
|
|
<tr class="coverableline" title="Not covered (0 visits)" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><a id="file0_line74"></a><code>74</code></td><td></td><td class="lightred"><code> return;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line75"></a><code>75</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line76"></a><code>76</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line77"></a><code>77</code></td><td></td><td class="lightgreen"><code> var target = Route[CurrentWaypointIndex + 1];</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line78"></a><code>78</code></td><td></td><td class="lightgreen"><code> var speedMs = TypicalSpeed / 3.6f;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line79"></a><code>79</code></td><td></td><td class="lightgreen"><code> var dx = (float)(target.PosX - PosX);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line80"></a><code>80</code></td><td></td><td class="lightgreen"><code> var dy = (float)(target.PosY - PosY);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line81"></a><code>81</code></td><td></td><td class="lightgreen"><code> var dz = (float)(target.PosZ - PosZ);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line82"></a><code>82</code></td><td></td><td class="lightgreen"><code> var dist = (float)Math.Sqrt(dx * dx + dy * dy + dz * dz);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line83"></a><code>83</code></td><td></td><td class="lightgreen"><code> var step = speedMs * deltaTime;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line84"></a><code>84</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits, 4 of 4 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line85"></a><code>85</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (dist < 1.0f || step >= dist)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line86"></a><code>86</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line87"></a><code>87</code></td><td></td><td class="lightgreen"><code> PosX = (float)target.PosX;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line88"></a><code>88</code></td><td></td><td class="lightgreen"><code> PosY = (float)target.PosY;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line89"></a><code>89</code></td><td></td><td class="lightgreen"><code> PosZ = (float)target.PosZ;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line90"></a><code>90</code></td><td></td><td class="lightgreen"><code> CurrentWaypointIndex++;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line91"></a><code>91</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (CurrentWaypointIndex >= Route.Count - 1)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line92"></a><code>92</code></td><td></td><td class="lightgreen"><code> Status = DroneStatus.ReachedTarget;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5 visits)" data-coverage="{'AllTestMethods': {'VC': '5', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5</td><td class="rightmargin right"><a id="file0_line93"></a><code>93</code></td><td></td><td class="lightgreen"><code> return;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line94"></a><code>94</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line95"></a><code>95</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line96"></a><code>96</code></td><td></td><td class="lightgray"><code> // 移动方向</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line97"></a><code>97</code></td><td></td><td class="lightgreen"><code> var ratio = step / dist;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line98"></a><code>98</code></td><td></td><td class="lightgreen"><code> PosX += dx * ratio;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line99"></a><code>99</code></td><td></td><td class="lightgreen"><code> PosY += dy * ratio;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line100"></a><code>100</code></td><td></td><td class="lightgreen"><code> PosZ += dz * ratio;</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line101"></a><code>101</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line102"></a><code>102</code></td><td></td><td class="lightgray"><code> // 风偏</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line103"></a><code>103</code></td><td></td><td class="lightgreen"><code> (float wx, float wy, float wz) = Kinematics.WindToVector(windDir, windSpeed);</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line104"></a><code>104</code></td><td></td><td class="lightgreen"><code> PosX += wx * deltaTime;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line105"></a><code>105</code></td><td></td><td class="lightgreen"><code> PosY += wy * deltaTime;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5540 visits)" data-coverage="{'AllTestMethods': {'VC': '5540', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5540</td><td class="rightmargin right"><a id="file0_line106"></a><code>106</code></td><td></td><td class="lightgreen"><code> PosZ += wz * deltaTime;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (5545 visits)" data-coverage="{'AllTestMethods': {'VC': '5545', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5545</td><td class="rightmargin right"><a id="file0_line107"></a><code>107</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line108"></a><code>108</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line109"></a><code>109</code></td><td></td><td class="lightgray"><code> public void ApplyDamage(float damage)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (27 visits)" data-coverage="{'AllTestMethods': {'VC': '27', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">27</td><td class="rightmargin right"><a id="file0_line110"></a><code>110</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (28 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '28', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">28</td><td class="rightmargin right"><a id="file0_line111"></a><code>111</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (Status != DroneStatus.Flying) return;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (26 visits)" data-coverage="{'AllTestMethods': {'VC': '26', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">26</td><td class="rightmargin right"><a id="file0_line112"></a><code>112</code></td><td></td><td class="lightgreen"><code> Hp -= damage;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (26 visits, 2 of 2 branches are covered)" data-coverage="{'AllTestMethods': {'VC': '26', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">26</td><td class="rightmargin right"><a id="file0_line113"></a><code>113</code></td><td class="percentagebar percentagebar100"><i class="icon-fork"></i></td><td class="lightgreen"><code> if (Hp <= 0)</code></td></tr>
|
|
<tr class="coverableline" title="Covered (3 visits)" data-coverage="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">3</td><td class="rightmargin right"><a id="file0_line114"></a><code>114</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (3 visits)" data-coverage="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">3</td><td class="rightmargin right"><a id="file0_line115"></a><code>115</code></td><td></td><td class="lightgreen"><code> Hp = 0;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (3 visits)" data-coverage="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">3</td><td class="rightmargin right"><a id="file0_line116"></a><code>116</code></td><td></td><td class="lightgreen"><code> Status = DroneStatus.Destroyed;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (3 visits)" data-coverage="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">3</td><td class="rightmargin right"><a id="file0_line117"></a><code>117</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="coverableline" title="Covered (27 visits)" data-coverage="{'AllTestMethods': {'VC': '27', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">27</td><td class="rightmargin right"><a id="file0_line118"></a><code>118</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line119"></a><code>119</code></td><td></td><td class="lightgray"><code></code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line120"></a><code>120</code></td><td></td><td class="lightgray"><code> public void MarkZoneIntruded()</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line121"></a><code>121</code></td><td></td><td class="lightgreen"><code> {</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line122"></a><code>122</code></td><td></td><td class="lightgreen"><code> Status = DroneStatus.ZoneIntruded;</code></td></tr>
|
|
<tr class="coverableline" title="Covered (1 visits)" data-coverage="{'AllTestMethods': {'VC': '1', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1</td><td class="rightmargin right"><a id="file0_line123"></a><code>123</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line124"></a><code>124</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
|
|
<tr class="" title="Not coverable" data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><a id="file0_line125"></a><code>125</code></td><td></td><td class="lightgray"><code>}</code></td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="footer">Generated by: ReportGenerator 5.5.10.0<br />2026/6/11 - 16:35:36<br /><a href="https://github.com/danielpalme/ReportGenerator">GitHub</a> | <a href="https://reportgenerator.io">reportgenerator.io</a></div></div>
|
|
<div class="containerright">
|
|
<div class="containerrightfixed">
|
|
<h1>Methods/Properties</h1>
|
|
<a href="#file0_line10" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_Id()"><i class="icon-wrench"></i>get_Id()</a><br />
|
|
<a href="#file0_line11" class="navigatetohash percentagebar percentagebar0" title="Line coverage: 0% - get_GroupId()"><i class="icon-wrench"></i>get_GroupId()</a><br />
|
|
<a href="#file0_line12" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_TargetType()"><i class="icon-wrench"></i>get_TargetType()</a><br />
|
|
<a href="#file0_line13" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_PowerType()"><i class="icon-wrench"></i>get_PowerType()</a><br />
|
|
<a href="#file0_line14" class="navigatetohash percentagebar percentagebar0" title="Line coverage: 0% - get_Wingspan()"><i class="icon-wrench"></i>get_Wingspan()</a><br />
|
|
<a href="#file0_line15" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_TypicalSpeed()"><i class="icon-wrench"></i>get_TypicalSpeed()</a><br />
|
|
<a href="#file0_line16" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_Route()"><i class="icon-wrench"></i>get_Route()</a><br />
|
|
<a href="#file0_line17" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_CurrentWaypointIndex()"><i class="icon-wrench"></i>get_CurrentWaypointIndex()</a><br />
|
|
<a href="#file0_line18" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_PosX()"><i class="icon-wrench"></i>get_PosX()</a><br />
|
|
<a href="#file0_line19" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_PosY()"><i class="icon-wrench"></i>get_PosY()</a><br />
|
|
<a href="#file0_line20" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_PosZ()"><i class="icon-wrench"></i>get_PosZ()</a><br />
|
|
<a href="#file0_line21" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_Hp()"><i class="icon-wrench"></i>get_Hp()</a><br />
|
|
<a href="#file0_line22" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_Status()"><i class="icon-wrench"></i>get_Status()</a><br />
|
|
<a href="#file0_line23" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_ExposureTime()"><i class="icon-wrench"></i>get_ExposureTime()</a><br />
|
|
<a href="#file0_line24" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_FormationOffsetX()"><i class="icon-wrench"></i>get_FormationOffsetX()</a><br />
|
|
<a href="#file0_line25" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - get_FormationOffsetY()"><i class="icon-wrench"></i>get_FormationOffsetY()</a><br />
|
|
<a href="#file0_line27" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - .ctor(System.String,System.String,CounterDrone.Core.Models.TargetConfig,System.Collections.Generic.List`1<CounterDrone.Core.Models.Waypoint>,System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)"><i class="icon-cube"></i>.ctor(System.String,System.String,CounterDrone.Core.Models.TargetConfig,System.Collections.Generic.List`1<CounterDrone.Core.Models.Waypoint>,System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)</a><br />
|
|
<a href="#file0_line51" class="navigatetohash percentagebar percentagebar60" title="Line coverage: 63.6% - ApplyFormationOffset(System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)"><i class="icon-cube"></i>ApplyFormationOffset(System.Int32,System.Single,CounterDrone.Core.Models.FormationMode)</a><br />
|
|
<a href="#file0_line68" class="navigatetohash percentagebar percentagebar90" title="Line coverage: 90.6% - Update(System.Single,System.Single,CounterDrone.Core.Models.WindDirection)"><i class="icon-cube"></i>Update(System.Single,System.Single,CounterDrone.Core.Models.WindDirection)</a><br />
|
|
<a href="#file0_line110" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - ApplyDamage(System.Single)"><i class="icon-cube"></i>ApplyDamage(System.Single)</a><br />
|
|
<a href="#file0_line121" class="navigatetohash percentagebar percentagebar100" title="Line coverage: 100% - MarkZoneIntruded()"><i class="icon-cube"></i>MarkZoneIntruded()</a><br />
|
|
<br/></div>
|
|
</div></div>
|
|
<script type="text/javascript" src="class.js"></script>
|
|
</body></html> |