private void returns_non_empty_enumerable_when_ReplaceEmptyEnumerableWithANonEmptyEnumerable_is_called()
        {
            Execute(() =>
            {
                var instance = new InterceptYieldMethodsClass();
                var result   = instance.ReplaceEmptyEnumerableWithANonEmptyEnumerable <DateTime>().ToArray();

                Assert.NotEmpty(result);
            });
        }
        private void returns_original_value_when_ReturnOriginalTEnumerable_is_called()
        {
            Execute(() =>
            {
                var instance = new InterceptYieldMethodsClass();
                var result   = instance.ReturnOriginalTEnumerable <string>().ToArray();

                Assert.Single(result);
                Assert.Equal(default(string), result[0]);
            });
        }
        private void returns_original_value_when_ReturnOriginalSimpleClassEnumerable_is_called()
        {
            Execute(() =>
            {
                var instance = new InterceptYieldMethodsClass();
                var result   = instance.ReturnOriginalSimpleClassEnumerable().ToArray();

                Assert.Single(result);
                Assert.Equal(1, result[0].Value);
            });
        }
        private void returns_intercepted_value_when_ReturnInterceptedTEnumerable_is_called()
        {
            Execute(() =>
            {
                var instance = new InterceptYieldMethodsClass();
                var result   = instance.ReturnInterceptedTEnumerable <string>().ToArray();

                Assert.Equal(2, result.Length);
                Assert.Equal(default(string), result[0]);
                Assert.Equal("b", result[1]);
            });
        }
        private void returns_intercepted_value_when_ReturnInterceptedSimpleClassEnumerable_is_called()
        {
            Execute(() =>
            {
                var instance = new InterceptYieldMethodsClass();
                var result   = instance.ReturnInterceptedSimpleClassEnumerable().ToArray();

                Assert.Equal(2, result.Length);
                Assert.Equal(1, result[0].Value);
                Assert.Equal(2, result[1].Value);
            });
        }