< Summary

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

Metrics

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

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,
 08                                              IReadOnlyList<IHierarchical> second) {
 09    if (first.Count == 0 || second.Count == 0) {
 010      return new List<AssignmentItem>();
 11    }
 12
 013    int secondIndex = 0;
 014    var assignments = new List<AssignmentItem>();
 015    foreach (var firstHierarchical in first) {
 016      var secondHierarchical = second[secondIndex];
 017      assignments.Add(
 18          new AssignmentItem { First = firstHierarchical, Second = secondHierarchical });
 019      secondIndex = (secondIndex + 1) % second.Count;
 020    }
 021    return assignments;
 022  }
 23}