1+ <!DOCTYPE html>
2+ < html >
3+ < head >
4+ < meta charset ="utf-8 " />
5+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
6+ < meta http-equiv ="X-UA-Compatible " content ="IE=EDGE,chrome=1 " />
7+ < link href ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAn1BMVEUAAADCAAAAAAA3yDfUAAA3yDfUAAA8PDzr6+sAAAD4+Pg3yDeQkJDTAADt7e3V1dU3yDdCQkIAAADbMTHUAABBykHUAAA2yDY3yDfr6+vTAAB3diDR0dGYcHDUAAAjhiPSAAA3yDeuAADUAAA3yDf////OCALg9+BLzktBuzRelimzKgv87+/dNTVflSn1/PWz6rO126g5yDlYniy0KgwjJ0TyAAAAI3RSTlMABAj0WD6rJcsN7X1HzMqUJyYW+/X08+bltqSeaVRBOy0cE+citBEAAADBSURBVDjLlczXEoIwFIThJPYGiL0XiL3r+z+bBOJs9JDMuLffP8v+Gxfc6aIyDQVjQcnqnvRDEQwLJYtXpZT+YhDHKIjLbS+OUeT4TjkKi6OwOArq+yeKXD9uDqQQbcOjyCy0e6bTojZSftX+U6zUQ7OuittDu1k0WHqRFfdXQijgjKfF6ZwAikvmKD6OQjmKWUcDigkztm5FZN05nMON9ZcoinlBmTNnAUdBnRbUUbgdBZwWbkcBpwXcVsBtxfjb31j1QB5qeebOAAAAAElFTkSuQmCC " rel ="icon " type ="image/x-icon " />
8+ < title > Dotnet.Installer.Core.Converters.DotnetVersionJsonConverter - Coverage Report</ title >
9+ < link rel ="stylesheet " type ="text/css " href ="report.css " />
10+ </ head > < body > < div class ="container "> < div class ="containerleft ">
11+ < h1 > < a href ="index.html " class ="back "> <</ a > Summary</ h1 >
12+ < div class ="card-group ">
13+ < div class ="card ">
14+ < div class ="card-header "> Information</ div >
15+ < div class ="card-body ">
16+ < div class ="table ">
17+ < table >
18+ < tr >
19+ < th > Class:</ th >
20+ < td class ="limit-width " title ="Dotnet.Installer.Core.Converters.DotnetVersionJsonConverter "> Dotnet.Installer.Core.Converters.DotnetVersionJsonConverter</ td >
21+ </ tr >
22+ < tr >
23+ < th > Assembly:</ th >
24+ < td class ="limit-width " title ="Dotnet.Installer.Core "> Dotnet.Installer.Core</ td >
25+ </ tr >
26+ < tr >
27+ < th > File(s):</ th >
28+ < td class ="overflow-wrap "> < a href ="#homeubuntuactionsrunner_workdotnetsnapdotnetsnapsrcDotnetInstallerCoreConvertersDotnetVersionJsonConvertercs " class ="navigatetohash "> /home/ubuntu/actions-runner/_work/dotnet-snap/dotnet-snap/src/Dotnet.Installer.Core/Converters/DotnetVersionJsonConverter.cs</ a > </ td >
29+ </ tr >
30+ </ table >
31+ </ div >
32+ </ div >
33+ </ div >
34+ </ div >
35+ < div class ="card-group ">
36+ < div class ="card ">
37+ < div class ="card-header "> Line coverage</ div >
38+ < div class ="card-body ">
39+ < div class ="large cardpercentagebar cardpercentagebar0 "> 100%</ div >
40+ < div class ="table ">
41+ < table >
42+ < tr >
43+ < th > Covered lines:</ th >
44+ < td class ="limit-width right " title ="9 "> 9</ td >
45+ </ tr >
46+ < tr >
47+ < th > Uncovered lines:</ th >
48+ < td class ="limit-width right " title ="0 "> 0</ td >
49+ </ tr >
50+ < tr >
51+ < th > Coverable lines:</ th >
52+ < td class ="limit-width right " title ="9 "> 9</ td >
53+ </ tr >
54+ < tr >
55+ < th > Total lines:</ th >
56+ < td class ="limit-width right " title ="22 "> 22</ td >
57+ </ tr >
58+ < tr >
59+ < th > Line coverage:</ th >
60+ < td class ="limit-width right " title ="9 of 9 "> 100%</ td >
61+ </ tr >
62+ </ table >
63+ </ div >
64+ </ div >
65+ </ div >
66+ < div class ="card ">
67+ < div class ="card-header "> Branch coverage</ div >
68+ < div class ="card-body ">
69+ < div class ="large cardpercentagebar cardpercentagebar0 "> 100%</ div >
70+ < div class ="table ">
71+ < table >
72+ < tr >
73+ < th > Covered branches:</ th >
74+ < td class ="limit-width right " title ="2 "> 2</ td >
75+ </ tr >
76+ < tr >
77+ < th > Total branches:</ th >
78+ < td class ="limit-width right " title ="2 "> 2</ td >
79+ </ tr >
80+ < tr >
81+ < th > Branch coverage:</ th >
82+ < td class ="limit-width right " title ="2 of 2 "> 100%</ td >
83+ </ tr >
84+ </ table >
85+ </ div >
86+ </ div >
87+ </ div >
88+ < div class ="card ">
89+ < div class ="card-header "> Method coverage</ div >
90+ < div class ="card-body ">
91+ < div class ="center ">
92+ < p > Feature is only available for sponsors</ p >
93+ < a class ="pro-button " href ="https://reportgenerator.io/pro " target ="_blank "> Upgrade to PRO version</ a >
94+ </ div >
95+ </ div >
96+ </ div >
97+ </ div >
98+ < h1 > Metrics</ h1 >
99+ < div class ="table-responsive ">
100+ < table class ="overview table-fixed ">
101+ < colgroup >
102+ < col class ="column-min-200 " />
103+ < col class ="column105 " />
104+ < col class ="column105 " />
105+ < col class ="column105 " />
106+ < col class ="column105 " />
107+ </ colgroup >
108+ < thead > < tr > < th > Method</ th > < th > Branch coverage < a href ="https://en.wikipedia.org/wiki/Code_coverage " target ="_blank "> < i class ="icon-info-circled "> </ i > </ a > </ th > < th > Crap Score < a href ="https://googletesting.blogspot.de/2011/02/this-code-is-crap.html " target ="_blank "> < i class ="icon-info-circled "> </ i > </ a > </ th > < th > Cyclomatic complexity < a href ="https://en.wikipedia.org/wiki/Cyclomatic_complexity " target ="_blank "> < i class ="icon-info-circled "> </ i > </ a > </ th > < th > Line coverage < a href ="https://en.wikipedia.org/wiki/Code_coverage " target ="_blank "> < i class ="icon-info-circled "> </ i > </ a > </ th > </ tr > </ thead >
109+ < tbody >
110+ < tr > < td title ="Read(System.Text.Json.Utf8JsonReader&,System.Type,System.Text.Json.JsonSerializerOptions) "> < a href ="#file0_line10 " class ="navigatetohash "> Read(...)</ a > </ td > < td > 100%</ td > < td > 2</ td > < td > 2</ td > < td > 100%</ td > </ tr >
111+ < tr > < td title ="Write(System.Text.Json.Utf8JsonWriter,Dotnet.Installer.Core.Types.DotnetVersion,System.Text.Json.JsonSerializerOptions) "> < a href ="#file0_line19 " class ="navigatetohash "> Write(...)</ a > </ td > < td > 100%</ td > < td > 1</ td > < td > 1</ td > < td > 100%</ td > </ tr >
112+ </ tbody >
113+ </ table >
114+ </ div >
115+ < h1 > File(s)</ h1 >
116+ < h2 id ="homeubuntuactionsrunner_workdotnetsnapdotnetsnapsrcDotnetInstallerCoreConvertersDotnetVersionJsonConvertercs "> /home/ubuntu/actions-runner/_work/dotnet-snap/dotnet-snap/src/Dotnet.Installer.Core/Converters/DotnetVersionJsonConverter.cs</ h2 >
117+ < div class ="table-responsive ">
118+ < table class ="lineAnalysis ">
119+ < thead > < tr > < th > </ th > < th > #</ th > < th > Line</ th > < th > </ th > < th > Line coverage</ th > </ tr > </ thead >
120+ < tbody >
121+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line1 "> </ a > < code > 1</ code > </ td > < td > </ td > < td class ="lightgray "> < code > using System.Text.Json;</ code > </ td > </ tr >
122+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line2 "> </ a > < code > 2</ code > </ td > < td > </ td > < td class ="lightgray "> < code > using System.Text.Json.Serialization;</ code > </ td > </ tr >
123+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line3 "> </ a > < code > 3</ code > </ td > < td > </ td > < td class ="lightgray "> < code > using Dotnet.Installer.Core.Types;</ code > </ td > </ tr >
124+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line4 "> </ a > < code > 4</ code > </ td > < td > </ td > < td class ="lightgray "> < code > </ code > </ td > </ tr >
125+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line5 "> </ a > < code > 5</ code > </ td > < td > </ td > < td class ="lightgray "> < code > namespace Dotnet.Installer.Core.Converters;</ code > </ td > </ tr >
126+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line6 "> </ a > < code > 6</ code > </ td > < td > </ td > < td class ="lightgray "> < code > </ code > </ td > </ tr >
127+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line7 "> </ a > < code > 7</ code > </ td > < td > </ td > < td class ="lightgray "> < code > public class DotnetVersionJsonConverter : JsonConverter<DotnetVersion></ code > </ td > </ tr >
128+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line8 "> </ a > < code > 8</ code > </ td > < td > </ td > < td class ="lightgray "> < code > {</ code > </ td > </ tr >
129+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line9 "> </ a > < code > 9</ code > </ td > < td > </ td > < td class ="lightgray "> < code > public override DotnetVersion? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)</ code > </ td > </ tr >
130+ < tr class ="coverableline " title ="Covered (7 visits) " data-coverage ="{'AllTestMethods': {'VC': '7', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 7</ td > < td class ="rightmargin right "> < a id ="file0_line10 "> </ a > < code > 10</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > {</ code > </ td > </ tr >
131+ < tr class ="coverableline " title ="Covered (7 visits) " data-coverage ="{'AllTestMethods': {'VC': '7', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 7</ td > < td class ="rightmargin right "> < a id ="file0_line11 "> </ a > < code > 11</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > var value = reader.GetString();</ code > </ td > </ tr >
132+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line12 "> </ a > < code > 12</ code > </ td > < td > </ td > < td class ="lightgray "> < code > </ code > </ td > </ tr >
133+ < tr class ="coverableline " title ="Covered (7 visits, 2 of 2 branches are covered) " data-coverage ="{'AllTestMethods': {'VC': '7', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 7</ td > < td class ="rightmargin right "> < a id ="file0_line13 "> </ a > < code > 13</ code > </ td > < td class ="percentagebar percentagebar100 "> < i class ="icon-fork "> </ i > </ td > < td class ="lightgreen "> < code > return (value is not null)</ code > </ td > </ tr >
134+ < tr class ="coverableline " title ="Covered (7 visits) " data-coverage ="{'AllTestMethods': {'VC': '7', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 7</ td > < td class ="rightmargin right "> < a id ="file0_line14 "> </ a > < code > 14</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > ? DotnetVersion.Parse(value)</ code > </ td > </ tr >
135+ < tr class ="coverableline " title ="Covered (7 visits) " data-coverage ="{'AllTestMethods': {'VC': '7', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 7</ td > < td class ="rightmargin right "> < a id ="file0_line15 "> </ a > < code > 15</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > : default;</ code > </ td > </ tr >
136+ < tr class ="coverableline " title ="Covered (4 visits) " data-coverage ="{'AllTestMethods': {'VC': '4', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 4</ td > < td class ="rightmargin right "> < a id ="file0_line16 "> </ a > < code > 16</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > }</ code > </ td > </ tr >
137+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line17 "> </ a > < code > 17</ code > </ td > < td > </ td > < td class ="lightgray "> < code > </ code > </ td > </ tr >
138+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line18 "> </ a > < code > 18</ code > </ td > < td > </ td > < td class ="lightgray "> < code > public override void Write(Utf8JsonWriter writer, DotnetVersion value, JsonSerializerOptions options)</ code > </ td > </ tr >
139+ < tr class ="coverableline " title ="Covered (3 visits) " data-coverage ="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 3</ td > < td class ="rightmargin right "> < a id ="file0_line19 "> </ a > < code > 19</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > {</ code > </ td > </ tr >
140+ < tr class ="coverableline " title ="Covered (3 visits) " data-coverage ="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 3</ td > < td class ="rightmargin right "> < a id ="file0_line20 "> </ a > < code > 20</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > writer.WriteStringValue(value.ToString());</ code > </ td > </ tr >
141+ < tr class ="coverableline " title ="Covered (3 visits) " data-coverage ="{'AllTestMethods': {'VC': '3', 'LVS': 'green'}} "> < td class ="green "> </ td > < td class ="leftmargin rightmargin right "> 3</ td > < td class ="rightmargin right "> < a id ="file0_line21 "> </ a > < code > 21</ code > </ td > < td > </ td > < td class ="lightgreen "> < code > }</ code > </ td > </ tr >
142+ < tr class ="" title ="Not coverable " data-coverage ="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}} "> < td class ="gray "> </ td > < td class ="leftmargin rightmargin right "> </ td > < td class ="rightmargin right "> < a id ="file0_line22 "> </ a > < code > 22</ code > </ td > < td > </ td > < td class ="lightgray "> < code > }</ code > </ td > </ tr >
143+ </ tbody >
144+ </ table >
145+ </ div >
146+ < div class ="footer "> Generated by: ReportGenerator 5.5.0.0< br /> 11/24/2025 - 20:39:34< br /> < a href ="https://github.com/danielpalme/ReportGenerator "> GitHub</ a > | < a href ="https://reportgenerator.io "> reportgenerator.io</ a > </ div > </ div >
147+ < div class ="containerright ">
148+ < div class ="containerrightfixed ">
149+ < h1 > Methods/Properties</ h1 >
150+ < a href ="#file0_line10 " class ="navigatetohash percentagebar percentagebar100 " title ="Line coverage: 100% - Read(System.Text.Json.Utf8JsonReader&,System.Type,System.Text.Json.JsonSerializerOptions) "> < i class ="icon-cube "> </ i > Read(System.Text.Json.Utf8JsonReader&,System.Type,System.Text.Json.JsonSerializerOptions)</ a > < br />
151+ < a href ="#file0_line19 " class ="navigatetohash percentagebar percentagebar100 " title ="Line coverage: 100% - Write(System.Text.Json.Utf8JsonWriter,Dotnet.Installer.Core.Types.DotnetVersion,System.Text.Json.JsonSerializerOptions) "> < i class ="icon-cube "> </ i > Write(System.Text.Json.Utf8JsonWriter,Dotnet.Installer.Core.Types.DotnetVersion,System.Text.Json.JsonSerializerOptions)</ a > < br />
152+ < br /> </ div >
153+ </ div > </ div >
154+ < script type ="text/javascript ">
155+ /* <![CDATA[ */
156+ ( function ( ) {
157+ var url = window . location . href ;
158+ var startOfQueryString = url . indexOf ( '?' ) ;
159+ var queryString = startOfQueryString > - 1 ? url . substr ( startOfQueryString ) : '' ;
160+
161+ if ( startOfQueryString > - 1 ) {
162+ var i = 0 , href = null ;
163+ var css = document . getElementsByTagName ( 'link' ) ;
164+
165+ for ( i = 0 ; i < css . length ; i ++ ) {
166+ if ( css [ i ] . getAttribute ( 'rel' ) !== 'stylesheet' ) {
167+ continue ;
168+ }
169+
170+ href = css [ i ] . getAttribute ( 'href' ) ;
171+
172+ if ( href ) {
173+ css [ i ] . setAttribute ( 'href' , href + queryString ) ;
174+ }
175+ }
176+
177+ var links = document . getElementsByTagName ( 'a' ) ;
178+
179+ for ( i = 0 ; i < links . length ; i ++ ) {
180+ href = links [ i ] . getAttribute ( 'href' ) ;
181+
182+ if ( href
183+ && ! href . startsWith ( 'http://' )
184+ && ! href . startsWith ( 'https://' )
185+ && ! href . startsWith ( '#' )
186+ && href . indexOf ( '?' ) === - 1 ) {
187+ links [ i ] . setAttribute ( 'href' , href + queryString ) ;
188+ }
189+ }
190+ }
191+
192+ var newScript = document . createElement ( 'script' ) ;
193+ newScript . src = 'class.js' + queryString ;
194+ document . getElementsByTagName ( 'body' ) [ 0 ] . appendChild ( newScript ) ;
195+ } ) ( ) ;
196+ /* ]]> */
197+ </ script > </ body > </ html >
0 commit comments