public void MoveNext_and_Current_should_enumerate_the_items()
        {
            var expectedItems = new List <int> {
                1, 2
            };
            var subject = new BatchableSource <int>(expectedItems.GetEnumerator());

            var items = new List <int>();

            while (subject.MoveNext())
            {
                items.Add(subject.Current);
            }

            items.Should().Equal(expectedItems);
        }
        public void ClearBatch_should_clear_batch()
        {
            var items = new List <int> {
                1, 2
            };
            var subject = new BatchableSource <int>(items.GetEnumerator());

            subject.StartBatch();
            subject.MoveNext();
            var batch = new[] { subject.Current };

            subject.EndBatch(batch);
            subject.Batch.Should().NotBeNull();

            subject.ClearBatch();
            subject.Batch.Should().BeNull();
        }