private void VerifyMappingsAreEqual(BinManager x, BinManager y) { var xBins = x.GetBins(); var yBins = y.GetBins(); var xExpired = x.GetExpiredAssignments(); var yExpired = y.GetExpiredAssignments(); xBins.Length.Should().Be(yBins.Length); for (var bin = 0; bin < xBins.Length; bin++) { xBins[bin].Length.Should().Be(yBins[bin].Length); for (var mapping = 0; mapping < xBins[bin].Length; mapping++) { xBins[bin][mapping].Index.Should().Be(yBins[bin][mapping].Index); } } xExpired.Count.Should().Be(yExpired.Count); foreach (var bin in xExpired.Keys) { var xBinExpired = xExpired[bin]; var yBinExpired = yExpired[bin]; xBinExpired.Count.Should().Be(yBinExpired.Count); foreach (var machine in xBinExpired.Keys) { xBinExpired[machine].Should().Be(yBinExpired[machine]); } } }