Пример #1
0
        internal void Enumerates_the_source_n_times(
            [Frozen] IEnumerable <int> source,
            [Frozen] InfiniteLoopingEnumerator <int> enumerator,
            int n)
        {
            var result = enumerator.AsEnumerable()
                         .Take(source.Count() * n);

            result.Should().BeEquivalentTo(
                source.Multiply(times: n));
        }
Пример #2
0
        public int GetFirstFrequencyReachedTwice(string frequencyChangesAsString)
        {
            var frequencyChanges = Split(frequencyChangesAsString);
            var parsed           = frequencyChanges.Select(ParseFrequencyChange);

            using (var infiniteLoopingEnumerator = new InfiniteLoopingEnumerator <int>(parsed))
            {
                var looping = infiniteLoopingEnumerator.AsEnumerable();
                var reached = GetReachedFrequencies(looping);
                return(GetFirstReachedTwice(reached));
            }
        }