< Summary

Class:RoundRobinAssignment
Assembly:bamlab.micromissiles
File(s):/github/workspace/Assets/Scripts/Assignment/RoundRobinAssignment.cs
Covered lines:12
Uncovered lines:0
Coverable lines:12
Total lines:23
Line coverage:100% (12 of 12)
Covered branches:0
Total branches:0
Covered methods:1
Total methods:1
Method coverage:100% (1 of 1)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Assign(...)0%550100%

File(s)

/github/workspace/Assets/Scripts/Assignment/RoundRobinAssignment.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using UnityEngine;
 3
 4// The round-robin assignment assigns hierarchical objects to each other in a round-robin order.
 5public class RoundRobinAssignment : AssignmentBase {
 6  // Run the assignment algorithm and assign the hierarchical objects.
 7  public override List<AssignmentItem> Assign(IReadOnlyList<IHierarchical> first,
 48                                              IReadOnlyList<IHierarchical> second) {
 69    if (first.Count == 0 || second.Count == 0) {
 210      return new List<AssignmentItem>();
 11    }
 12
 213    int secondIndex = 0;
 214    var assignments = new List<AssignmentItem>();
 21615    foreach (var firstHierarchical in first) {
 7016      var secondHierarchical = second[secondIndex];
 7017      assignments.Add(
 18          new AssignmentItem { First = firstHierarchical, Second = secondHierarchical });
 7019      secondIndex = (secondIndex + 1) % second.Count;
 7020    }
 221    return assignments;
 422  }
 23}