Skip to content

Commit 160d4f2

Browse files
committed
Add comprehensive unit tests for 82% code coverage
- Refactored rename_branch.rs with 10 helper functions and tests - Enhanced summary.rs with 11 helper functions and comprehensive tests - Improved color_graph.rs with 4 new helper functions and tests - Added 22 new unit tests across modules - Total coverage increased from 79.36% to 82.08% (+2.72%) - Now have 61 unit tests covering helper functions
1 parent 1993fd6 commit 160d4f2

File tree

7 files changed

+656
-91
lines changed

7 files changed

+656
-91
lines changed

.claude/settings.local.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
"WebFetch(domain:docs.anthropic.com)",
88
"Bash(make:*)",
99
"Bash(git add:*)",
10-
"Bash(git push:*)"
10+
"Bash(git push:*)",
11+
"Bash(git commit:*)",
12+
"Bash(grep:*)"
1113
],
1214
"deny": []
1315
}

cobertura.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?xml version="1.0"?><coverage lines-covered="394" lines-valid="480" line-rate="0.8208333333333333" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0" version="1.9" timestamp="1753596903"><sources><source>/Users/segersand/Documents/Personal/repos_personal/git-x</source></sources><packages><package name="tests/common" line-rate="0" branch-rate="0" complexity="0"><classes></classes></package><package name="src" line-rate="0.8208333333333333" branch-rate="0" complexity="0"><classes><class name="clean_branches" filename="src/clean_branches.rs" line-rate="0.9" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="2"/><line number="4" hits="6"/><line number="5" hits="2"/><line number="9" hits="6"/><line number="10" hits="6"/><line number="12" hits="10"/><line number="13" hits="10"/><line number="16" hits="4"/><line number="18" hits="6"/><line number="19" hits="1"/><line number="20" hits="5"/><line number="21" hits="2"/><line number="23" hits="1"/><line number="24" hits="0"/><line number="25" hits="0"/><line number="29" hits="1"/><line number="30" hits="2"/><line number="35" hits="4"/><line number="36" hits="0"/><line number="38" hits="2"/><line number="39" hits="6"/><line number="40" hits="0"/><line number="46" hits="3"/><line number="47" hits="3"/><line number="51" hits="10"/><line number="52" hits="40"/><line number="56" hits="8"/><line number="57" hits="16"/><line number="61" hits="9"/><line number="62" hits="18"/><line number="66" hits="2"/><line number="67" hits="14"/><line number="71" hits="2"/><line number="72" hits="4"/><line number="76" hits="1"/><line number="77" hits="1"/><line number="81" hits="4"/><line number="82" hits="4"/><line number="83" hits="4"/><line number="85" hits="2"/></lines></class><class name="color_graph" filename="src/color_graph.rs" line-rate="0.5384615384615384" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="0"/><line number="4" hits="0"/><line number="5" hits="0"/><line number="9" hits="0"/><line number="10" hits="0"/><line number="12" hits="0"/><line number="17" hits="2"/><line number="18" hits="4"/><line number="22" hits="0"/><line number="23" hits="0"/><line number="24" hits="0"/><line number="28" hits="0"/><line number="29" hits="0"/><line number="30" hits="0"/><line number="34" hits="3"/><line number="35" hits="6"/><line number="39" hits="1"/><line number="41" hits="1"/><line number="42" hits="1"/><line number="43" hits="1"/><line number="44" hits="1"/><line number="45" hits="1"/><line number="46" hits="1"/><line number="47" hits="1"/><line number="52" hits="2"/><line number="53" hits="4"/></lines></class><class name="graph" filename="src/graph.rs" line-rate="0.8333333333333334" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="2"/><line number="4" hits="6"/><line number="5" hits="2"/><line number="9" hits="6"/><line number="10" hits="8"/><line number="11" hits="2"/><line number="13" hits="0"/><line number="14" hits="0"/><line number="19" hits="3"/><line number="20" hits="3"/><line number="24" hits="2"/><line number="25" hits="4"/></lines></class><class name="health" filename="src/health.rs" line-rate="0.8241758241758241" branch-rate="0" complexity="0"><methods/><lines><line number="4" hits="9"/><line number="5" hits="27"/><line number="6" hits="36"/><line number="7" hits="36"/><line number="8" hits="36"/><line number="10" hits="36"/><line number="11" hits="36"/><line number="12" hits="9"/><line number="15" hits="9"/><line number="16" hits="1"/><line number="17" hits="0"/><line number="21" hits="32"/><line number="24" hits="32"/><line number="27" hits="32"/><line number="30" hits="32"/><line number="33" hits="32"/><line number="35" hits="8"/><line number="36" hits="32"/><line number="39" hits="10"/><line number="40" hits="20"/><line number="41" hits="10"/><line number="43" hits="30"/><line number="47" hits="8"/><line number="48" hits="24"/><line number="49" hits="8"/><line number="53" hits="24"/><line number="55" hits="22"/><line number="56" hits="18"/><line number="58" hits="2"/><line number="62" hits="8"/><line number="63" hits="24"/><line number="64" hits="16"/><line number="68" hits="24"/><line number="69" hits="32"/><line number="71" hits="23"/><line number="72" hits="21"/><line number="74" hits="1"/><line number="75" hits="1"/><line number="76" hits="1"/><line number="77" hits="1"/><line number="82" hits="8"/><line number="83" hits="24"/><line number="84" hits="16"/><line number="85" hits="8"/><line number="86" hits="8"/><line number="87" hits="8"/><line number="92" hits="24"/><line number="93" hits="16"/><line number="95" hits="24"/><line number="96" hits="8"/><line number="97" hits="0"/><line number="101" hits="16"/><line number="102" hits="16"/><line number="103" hits="16"/><line number="104" hits="8"/><line number="107" hits="0"/><line number="108" hits="0"/><line number="109" hits="0"/><line number="110" hits="0"/><line number="115" hits="8"/><line number="116" hits="24"/><line number="117" hits="8"/><line number="121" hits="24"/><line number="122" hits="40"/><line number="125" hits="16"/><line number="126" hits="0"/><line number="128" hits="8"/><line number="129" hits="8"/><line number="130" hits="8"/><line number="131" hits="8"/><line number="133" hits="8"/><line number="134" hits="0"/><line number="136" hits="0"/><line number="137" hits="0"/><line number="138" hits="0"/><line number="139" hits="0"/><line number="142" hits="0"/><line number="143" hits="0"/><line number="144" hits="0"/><line number="145" hits="0"/><line number="150" hits="8"/><line number="151" hits="24"/><line number="152" hits="16"/><line number="156" hits="24"/><line number="157" hits="42"/><line number="159" hits="23"/><line number="160" hits="21"/><line number="162" hits="1"/><line number="163" hits="1"/><line number="164" hits="1"/><line number="165" hits="1"/></lines></class><class name="info" filename="src/info.rs" line-rate="1" branch-rate="0" complexity="0"><methods/><lines><line number="4" hits="3"/><line number="6" hits="9"/><line number="7" hits="3"/><line number="10" hits="9"/><line number="11" hits="9"/><line number="14" hits="9"/><line number="15" hits="6"/><line number="18" hits="9"/><line number="21" hits="9"/><line number="22" hits="9"/><line number="24" hits="3"/><line number="25" hits="9"/><line number="26" hits="9"/><line number="29" hits="9"/><line number="30" hits="9"/><line number="33" hits="9"/><line number="34" hits="9"/><line number="37" hits="9"/><line number="38" hits="6"/><line number="41" hits="9"/><line number="43" hits="9"/><line number="46" hits="15"/><line number="47" hits="15"/><line number="48" hits="15"/><line number="49" hits="3"/><line number="50" hits="3"/><line number="51" hits="9"/><line number="52" hits="9"/><line number="54" hits="15"/><line number="58" hits="7"/><line number="59" hits="7"/><line number="61" hits="25"/><line number="62" hits="9"/><line number="66" hits="7"/><line number="67" hits="35"/><line number="68" hits="28"/><line number="69" hits="28"/><line number="70" hits="7"/><line number="74" hits="6"/><line number="75" hits="12"/><line number="76" hits="4"/><line number="78" hits="4"/></lines></class><class name="main" filename="src/main.rs" line-rate="0.8571428571428571" branch-rate="0" complexity="0"><methods/><lines><line number="10" hits="23"/><line number="11" hits="46"/><line number="13" hits="23"/><line number="14" hits="0"/><line number="15" hits="6"/><line number="16" hits="3"/><line number="17" hits="2"/><line number="18" hits="0"/><line number="19" hits="9"/><line number="20" hits="6"/><line number="21" hits="1"/><line number="22" hits="6"/><line number="23" hits="3"/><line number="24" hits="3"/></lines></class><class name="prune_branches" filename="src/prune_branches.rs" line-rate="0.803921568627451" branch-rate="0" complexity="0"><methods/><lines><line number="4" hits="2"/><line number="5" hits="8"/><line number="8" hits="6"/><line number="9" hits="4"/><line number="13" hits="2"/><line number="14" hits="0"/><line number="15" hits="0"/><line number="18" hits="6"/><line number="21" hits="6"/><line number="22" hits="2"/><line number="26" hits="2"/><line number="27" hits="0"/><line number="28" hits="0"/><line number="31" hits="8"/><line number="32" hits="6"/><line number="34" hits="2"/><line number="35" hits="12"/><line number="36" hits="22"/><line number="39" hits="4"/><line number="40" hits="0"/><line number="41" hits="0"/><line number="45" hits="6"/><line number="46" hits="0"/><line number="47" hits="0"/><line number="48" hits="0"/><line number="52" hits="2"/><line number="53" hits="6"/><line number="55" hits="0"/><line number="61" hits="5"/><line number="62" hits="20"/><line number="66" hits="6"/><line number="67" hits="6"/><line number="69" hits="24"/><line number="70" hits="24"/><line number="75" hits="4"/><line number="76" hits="12"/><line number="78" hits="28"/><line number="81" hits="6"/><line number="85" hits="4"/><line number="89" hits="8"/><line number="90" hits="16"/><line number="94" hits="9"/><line number="95" hits="47"/><line number="99" hits="3"/><line number="100" hits="15"/><line number="104" hits="3"/><line number="105" hits="6"/><line number="109" hits="1"/><line number="110" hits="2"/><line number="114" hits="1"/><line number="115" hits="1"/></lines></class><class name="rename_branch" filename="src/rename_branch.rs" line-rate="0.509090909090909" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="0"/><line number="5" hits="0"/><line number="6" hits="0"/><line number="10" hits="0"/><line number="11" hits="0"/><line number="12" hits="0"/><line number="15" hits="0"/><line number="17" hits="0"/><line number="18" hits="0"/><line number="19" hits="0"/><line number="22" hits="0"/><line number="25" hits="0"/><line number="26" hits="0"/><line number="30" hits="0"/><line number="31" hits="0"/><line number="32" hits="0"/><line number="36" hits="0"/><line number="37" hits="0"/><line number="41" hits="0"/><line number="42" hits="0"/><line number="43" hits="0"/><line number="47" hits="0"/><line number="48" hits="0"/><line number="52" hits="0"/><line number="53" hits="0"/><line number="55" hits="0"/><line number="58" hits="0"/><line number="62" hits="1"/><line number="63" hits="1"/><line number="67" hits="4"/><line number="68" hits="4"/><line number="72" hits="2"/><line number="73" hits="14"/><line number="77" hits="1"/><line number="78" hits="1"/><line number="79" hits="2"/><line number="80" hits="2"/><line number="81" hits="2"/><line number="82" hits="2"/><line number="87" hits="1"/><line number="88" hits="1"/><line number="89" hits="2"/><line number="90" hits="2"/><line number="91" hits="2"/><line number="92" hits="2"/><line number="97" hits="2"/><line number="98" hits="4"/><line number="102" hits="2"/><line number="103" hits="4"/><line number="107" hits="1"/><line number="108" hits="2"/><line number="112" hits="1"/><line number="113" hits="2"/><line number="117" hits="1"/><line number="118" hits="1"/></lines></class><class name="since" filename="src/since.rs" line-rate="0.8888888888888888" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="2"/><line number="4" hits="6"/><line number="5" hits="4"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="13" hits="2"/><line number="14" hits="0"/><line number="15" hits="0"/><line number="18" hits="6"/><line number="19" hits="5"/><line number="20" hits="1"/><line number="22" hits="1"/><line number="23" hits="1"/><line number="28" hits="5"/><line number="29" hits="10"/><line number="33" hits="7"/><line number="34" hits="14"/></lines></class><class name="summary" filename="src/summary.rs" line-rate="0.859375" branch-rate="0" complexity="0"><methods/><lines><line number="6" hits="1"/><line number="7" hits="3"/><line number="8" hits="2"/><line number="12" hits="1"/><line number="13" hits="0"/><line number="14" hits="0"/><line number="17" hits="3"/><line number="18" hits="2"/><line number="19" hits="0"/><line number="20" hits="0"/><line number="23" hits="0"/><line number="24" hits="0"/><line number="28" hits="2"/><line number="29" hits="2"/><line number="30" hits="4"/><line number="31" hits="4"/><line number="32" hits="4"/><line number="33" hits="4"/><line number="34" hits="4"/><line number="39" hits="1"/><line number="40" hits="1"/><line number="44" hits="5"/><line number="45" hits="10"/><line number="49" hits="2"/><line number="50" hits="4"/><line number="54" hits="2"/><line number="55" hits="6"/><line number="57" hits="8"/><line number="58" hits="4"/><line number="63" hits="2"/><line number="67" hits="6"/><line number="68" hits="30"/><line number="69" hits="6"/><line number="70" hits="1"/><line number="73" hits="5"/><line number="80" hits="7"/><line number="81" hits="21"/><line number="83" hits="9"/><line number="87" hits="7"/><line number="88" hits="42"/><line number="92" hits="6"/><line number="93" hits="12"/><line number="97" hits="1"/><line number="98" hits="4"/><line number="100" hits="4"/><line number="101" hits="0"/><line number="102" hits="5"/><line number="103" hits="0"/><line number="105" hits="0"/><line number="110" hits="2"/><line number="111" hits="4"/><line number="115" hits="2"/><line number="116" hits="4"/><line number="120" hits="16"/><line number="121" hits="48"/><line number="122" hits="27"/><line number="123" hits="6"/><line number="124" hits="16"/><line number="125" hits="5"/><line number="126" hits="9"/><line number="127" hits="2"/><line number="128" hits="3"/><line number="129" hits="1"/><line number="131" hits="2"/></lines></class><class name="undo" filename="src/undo.rs" line-rate="0.9166666666666666" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="1"/><line number="4" hits="3"/><line number="5" hits="1"/><line number="9" hits="3"/><line number="10" hits="2"/><line number="12" hits="0"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/><line number="27" hits="1"/><line number="28" hits="1"/></lines></class><class name="what" filename="src/what.rs" line-rate="0.9818181818181818" branch-rate="0" complexity="0"><methods/><lines><line number="3" hits="1"/><line number="4" hits="3"/><line number="7" hits="3"/><line number="8" hits="2"/><line number="11" hits="2"/><line number="15" hits="1"/><line number="16" hits="1"/><line number="17" hits="3"/><line number="21" hits="3"/><line number="22" hits="2"/><line number="23" hits="1"/><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="2"/><line number="30" hits="3"/><line number="31" hits="3"/><line number="33" hits="4"/><line number="34" hits="2"/><line number="35" hits="2"/><line number="38" hits="3"/><line number="39" hits="2"/><line number="40" hits="1"/><line number="41" hits="2"/><line number="42" hits="2"/><line number="46" hits="3"/><line number="48" hits="2"/><line number="49" hits="3"/><line number="50" hits="1"/><line number="51" hits="0"/><line number="57" hits="2"/><line number="58" hits="4"/><line number="62" hits="3"/><line number="63" hits="6"/><line number="67" hits="3"/><line number="69" hits="9"/><line number="70" hits="3"/><line number="75" hits="4"/><line number="76" hits="8"/><line number="80" hits="5"/><line number="81" hits="20"/><line number="82" hits="20"/><line number="83" hits="20"/><line number="84" hits="5"/><line number="88" hits="9"/><line number="89" hits="9"/><line number="90" hits="11"/><line number="91" hits="10"/><line number="92" hits="6"/><line number="93" hits="2"/><line number="98" hits="6"/><line number="99" hits="30"/><line number="100" hits="6"/><line number="101" hits="12"/><line number="102" hits="12"/><line number="104" hits="2"/></lines></class></classes></package><package name="tests" line-rate="0" branch-rate="0" complexity="0"><classes></classes></package></packages></coverage>

0 commit comments

Comments
 (0)