Ejemplo n.º 1
0
        public void SplitByNumberOfGroups__NumberOfGroupsIsLessThenSourceCount_And_SourceCountIsNotMultipleOfNumberOfGroups__LastGroupHasSmallerSize()
        {
            var source = new[] { 1, 2, 3, 4, 5, 6, 7 };
            var result = source.SplitByNumberOfGroups(3).ToList(); // {1,2,3} {4,5,6} {7}

            Assert.That(result.Count, Is.EqualTo(3));
            CollectionAssert.AreEqual(result[0], source.Take(3));
            CollectionAssert.AreEqual(result[1], source.Skip(3).Take(3));
            CollectionAssert.AreEqual(result[2], source.Skip(6).Take(3));
            Assert.That(result[0].Count(), Is.EqualTo(result[1].Count()));
            Assert.That(result[2].Count(), Is.LessThan(result[0].Count()));
            CollectionAssert.AreEqual(result.SelectMany(group => group.ToList()), source);
        }
Ejemplo n.º 2
0
        public void SplitByNumberOfGroups_NumberOfGroupsIsSameAsSourceCount_ReturnsSingleElementGroups()
        {
            var source = new[] { 1, 2, 3 };
            var result = source.SplitByNumberOfGroups(source.Length).ToList();

            Assert.That(result.Count, Is.EqualTo(source.Length));
            foreach (var group in result)
                Assert.That(group.Count(), Is.EqualTo(1));
            CollectionAssert.AreEqual(result.SelectMany(group => group.ToList()), source);
        }
Ejemplo n.º 3
0
        public void SplitByNumberOfGroups__NumberOfGroupsIsLessThenSourceCount_And_SourceCountIsMultipleOfNumberOfGroups__ReturnsGroupsOfSameSize()
        {
            var source = new[] { 1, 2, 3, 4, 5, 6 };
            var result = source.SplitByNumberOfGroups(source.Length / 3).ToList(); // 6 / 3 = 2 groups

            Assert.That(result.Count, Is.EqualTo(2));
            CollectionAssert.AreEqual(result[0], source.Take(3));
            CollectionAssert.AreEqual(result[1], source.Skip(3).Take(3));
            CollectionAssert.AreEqual(result.SelectMany(group => group.ToList()), source);
        }
Ejemplo n.º 4
0
        public void SplitByNumberOfGroups_NumberOfGroupsIsOne_ReturnsSingleGroupSameAsSource()
        {
            var source = new[] { 1, 2, 3 };
            var result = source.SplitByNumberOfGroups(1).ToList();

            Assert.That(result.Count, Is.EqualTo(1));
            CollectionAssert.AreEqual(result[0], source);
        }