@@ -2147,6 +2147,10 @@ interface ContractIf {
21472147
21482148abstract contract AbstractCounter {
21492149 function _setNumber(uint256 newNumber) internal virtual;
2150+
2151+ function _incrementNumber(uint256 newNumber) internal virtual returns (uint256 inc) {
2152+ inc = newNumber + 1;
2153+ }
21502154}
21512155
21522156contract Counter is AbstractCounter, ContractIf {
@@ -2157,7 +2161,11 @@ contract Counter is AbstractCounter, ContractIf {
21572161 }
21582162
21592163 function _setNumber(uint256 newNumber) internal override {
2160- number = newNumber;
2164+ number = _incrementNumber(newNumber);
2165+ }
2166+
2167+ function _incrementNumber(uint256 newNumber) internal override returns (uint256 inc) {
2168+ inc = super._incrementNumber(newNumber);
21612169 }
21622170}
21632171 "# ,
@@ -2177,14 +2185,18 @@ contract CounterTest is DSTest {
21772185 "# ,
21782186 ) ;
21792187
2188+ // Test there are 4 functions reported:
2189+ // - `setNumber`, `_setNumber` and `_incrementNumber` from `Counter` contract
2190+ // - `_incrementNumber` from `AbstractCounter` (virtual with implementation). `_setNumber` is
2191+ // excluded as it is not implemented.
21802192 cmd. arg( "coverage" ) . assert_success( ) . stdout_eq( str ![ [ r#"
21812193...
21822194╭-----------------+---------------+---------------+---------------+---------------╮
21832195| File | % Lines | % Statements | % Branches | % Funcs |
21842196+=================================================================================+
2185- | src/Counter.sol | 100.00% (4/4 ) | 100.00% (2/2 ) | 100.00% (0/0) | 100.00% (2/2 ) |
2197+ | src/Counter.sol | 100.00% (8/8 ) | 100.00% (4/4 ) | 100.00% (0/0) | 100.00% (4/4 ) |
21862198|-----------------+---------------+---------------+---------------+---------------|
2187- | Total | 100.00% (4/4 ) | 100.00% (2/2 ) | 100.00% (0/0) | 100.00% (2/2 ) |
2199+ | Total | 100.00% (8/8 ) | 100.00% (4/4 ) | 100.00% (0/0) | 100.00% (4/4 ) |
21882200╰-----------------+---------------+---------------+---------------+---------------╯
21892201...
21902202"# ] ] ) ;
0 commit comments