public void LastTest() { var source = new[] { 1, 3, 5, 7, 9 }; var last = ListExtensions.Last(source); Assert.AreEqual(9, last); }
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)); }
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>())); }