< Summary

Class:Program
Assembly:LeapYear
File(s):File 1: /source/src/Program.cs
Covered lines:0
Uncovered lines:29
Coverable lines:29
Total lines:41
Line coverage:0% (0 of 29)
Covered branches:0
Total branches:8
Branch coverage:0% (0 of 8)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
File 1: <Main>$(...)0%80%

File(s)

/source/src/Program.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Mvc;
 2using Microsoft.OpenApi.Models;
 3
 04var builder = WebApplication.CreateBuilder(args);
 05builder.Services.AddEndpointsApiExplorer();
 06builder.Services.AddSwaggerGen(c =>
 07{
 08    c.SwaggerDoc("v1", new() { Title = "Is Leap Year", Version = "v1" });
 09});
 10
 011var app = builder.Build();
 12
 013if (app.Environment.IsDevelopment())
 14{
 015    app.UseDeveloperExceptionPage();
 16}
 017app.UseSwagger();
 018app.UseSwaggerUI(c =>
 019{
 020    c.SwaggerEndpoint("/swagger/v1/swagger.json", "Is Leap Year v1");
 021    c.RoutePrefix = string.Empty;
 022}
 023    );
 24
 25
 026app.MapGet("/isLeapYear", (HttpContext http, [FromQuery] DateTime? date, [FromQuery] int? year) =>
 027 {
 028     switch (date, year)
 029     {
 030         case (DateTime d, null): http.Response.WriteAsJsonAsync(d.IsLeapYear()); break;
 031         case (null, int y): http.Response.WriteAsJsonAsync(y.IsLeapYear()); break;
 032         default:
 033             http.Response.StatusCode = 400;
 034             http.Response.WriteAsJsonAsync(new { Error = "specify date or year not both" });
 035             break;
 036     }
 037 });
 38
 039app.Run();
 40
 41

Methods/Properties

<Main>$(...)