Example #1
0
        public void Batch_ReturnsGroupsOfN()
        {
            var numbers = Enumerable.Range(1, 100);
            var groups  = IEnumerableExtensions.Batch(numbers, 10);

            Assert.IsTrue(groups.All(g => g.Count() == 10));
        }
Example #2
0
        public void Batch_OnlyLastGroupHasLessItems()
        {
            var numbers = Enumerable.Range(1, 100);
            var groups  = IEnumerableExtensions.Batch(numbers, 13);

            var lastGroup    = groups.Last();
            var restOfGroups = groups.Take(groups.Count() - 1);

            Assert.IsTrue(restOfGroups.All(g => g.Count() == 13));
            Assert.IsTrue(lastGroup.Count() == 9); //13*7 + 9 = 100
        }
        public void BatchReturnsProperBatches()
        {
            var expected = new[]
            {
                new[] { 1, 2 },
                new[] { 3, 4 },
                new[] { 5 }
            };

            var actual = IEnumerableExtensions.Batch(new[] { 1, 2, 3, 4, 5 }, 2);

            Assert.IsNotNull(actual);

            var actualArray = actual.Select(x => x.ToArray()).ToArray();

            Assert.AreEqual(expected.Length, actualArray.Length);

            for (int itemIndex = 0; itemIndex < actualArray.Length; itemIndex++)
            {
                CollectionAssert.AreEqual(expected[itemIndex], actualArray[itemIndex]);
            }
        }