private void AssignItemsToCurrentColumn(ColumnAssigner assigner) { while (assigner.IsNextIndexInCurrentColumn) { itemCount++; var index = assigner.NextIndex; } }
private void ExpectColumns(params int[] columnItemCounts) { int columnCount = columnItemCounts.Length; int totalItemCount = columnItemCounts.ToList().Sum(); var assigner = new ColumnAssigner(totalItemCount, columnCount); itemCount = 0; for (int i = 0; i < columnCount; i++) { AssignItemsToCurrentColumn(assigner); var expectedItemsSoFar = columnItemCounts.ToList().Take(i + 1).Sum(); Assert.AreEqual(expectedItemsSoFar, itemCount); assigner.NewColumn(); } Assert.AreEqual(totalItemCount, itemCount); }