public void LastTest()
        {
            var source = new[] { 1, 3, 5, 7, 9 };

            var last = ListExtensions.Last(source);

            Assert.AreEqual(9, last);
        }
示例#2
0
        public TemplateFactory Compile(ViewSourceReader viewSourceReader, TemplateOptions options, TemplateClassBuilder builder)
        {
            var templateSource = builder.Build(options.Usings);

            var typeBuilder = new BooTemplateTypeBuilder(options);

            var templateType = typeBuilder.Build(templateSource, builder.ClassName);

            if (templateType == null)
            {
                var path = ListExtensions.Last(viewSourceReader.ViewSources).Path;
                TemplateCompilationException.Throw(typeBuilder.CompilerResults, typeBuilder.Source, path);
            }

            return(new TemplateFactory(templateType));
        }
示例#3
0
        public TemplateFactory Compile(ViewSourceReader viewSourceReader, TemplateOptions options, TemplateClassBuilder builder)
        {
            var typeBuilder = CreateTemplateTypeBuilder(options);
            //TODO: leaky abstraction
            var classBuilder = (CodeDomClassBuilder)builder;
            var provider     = GetCodeDomProvider(typeBuilder.ProviderOptions);

            classBuilder.CodeDomProvider = provider;
            typeBuilder.CodeDomProvider  = provider;
            var templateSource = classBuilder.Build(options.Usings);

            var templateType = typeBuilder.Build(templateSource, classBuilder.ClassName);

            if (templateType == null)
            {
                var viewSources = viewSourceReader.ViewSources;
                TemplateCompilationException.Throw(typeBuilder.CompilerResults, typeBuilder.Source, ListExtensions.Last(viewSources).Path);
            }

            return(new TemplateFactory(templateType));
        }
 public void LastItemNotFoundTest()
 {
     Assert.ThrowsException <InvalidOperationException>(() =>
                                                        ListExtensions.Last(Array.Empty <GenericParameterHelper>()));
 }