public void RepeatWhenCountIsLessThan0ShouldThrowException()
        {
            IEnumerable <string> strings;

            Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                        strings = OtherExtensionMethods.Repeat("test", -1));
        }
        public void RangeWhenStartIsMaxValueAndCount1ShouldReturnMaxValueAsOnlyValue()
        {
            IEnumerable <int> numbers = OtherExtensionMethods.Range(int.MaxValue, 1);

            Assert.Collection(numbers,
                              item => Assert.Equal(int.MaxValue, item));
        }
        public void RangeWhenLastValueIsMoreThanMaxValueShouldThrowException()
        {
            IEnumerable <int> numbers;

            Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                        numbers = OtherExtensionMethods.Range(int.MaxValue, 2));
        }
        public void RangeWhenCountIsLessThan0ShouldThrowException()
        {
            IEnumerable <int> numbers;

            Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                        numbers = OtherExtensionMethods.Range(1, -1));
        }
        public void RepeatWhenCountIsMoreThan0ShouldReturnSequenceWithCountElements()
        {
            IEnumerable <string> strings = OtherExtensionMethods.Repeat("test", 2);

            Assert.Collection(strings,
                              item => Assert.Equal("test", item),
                              item => Assert.Equal("test", item));
        }
        public void RangeWhenValidNumbersShouldReturnIntSequence()
        {
            IEnumerable <int> numbers = OtherExtensionMethods.Range(1, 5);

            Assert.Collection(numbers,
                              item => Assert.Equal(1, item),
                              item => Assert.Equal(2, item),
                              item => Assert.Equal(3, item),
                              item => Assert.Equal(4, item),
                              item => Assert.Equal(5, item));
        }
        public void RepeatWhenCountIs0ShouldReturnEmptySequence()
        {
            IEnumerable <string> strings = OtherExtensionMethods.Repeat("test", 0);

            Assert.Empty(strings);
        }
        public void EmptyWhenAnyShouldReturnEmptySequence()
        {
            IEnumerable <int> emptySequence = OtherExtensionMethods.Empty <int>();

            Assert.Empty(emptySequence);
        }
        public void RangeWhenStartIsMinValueAndCount0ShouldReturnEmptySequence()
        {
            IEnumerable <int> numbers = OtherExtensionMethods.Range(int.MinValue, 0);

            Assert.Empty(numbers);
        }
        public void RangeWhenCountIs0ShouldReturnEmptySequence()
        {
            IEnumerable <int> numbers = OtherExtensionMethods.Range(1, 0);

            Assert.Empty(numbers);
        }