List of Coverage Report
Parsed Coverage Data File:
/home/rddev/.../bazel-out/.../util/parser/math/MathModelTest/coverage.dat
Parsed Coverage Data File:
/home/rddev/.../bazel-out/.../util/math/FloatExtensionsTest/coverage.dat
Coverage Data List: [bazel_test_target:
"//utility/src/test/java/org/oppia/android/util/parser/math:MathModelTest"
covered_file {
file_path:
"utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt"
file_sha1_hash: "37eb0c6a3a16c300da100e245e7d320c61cc008f"
covered_line {
line_number: 14
coverage: FULL
}
covered_line {
line_number: 15
coverage: FULL
}
covered_line {
line_number: 16
coverage: FULL
}
covered_line {
line_number: 17
coverage: FULL
}
covered_line {
line_number: 21
coverage: FULL
}
covered_line {
line_number: 33
coverage: FULL
}
covered_line {
line_number: 34
coverage: FULL
}
covered_line {
line_number: 35
coverage: FULL
}
covered_line {
line_number: 36
coverage: FULL
}
covered_line {
line_number: 41
coverage: FULL
}
covered_line {
line_number: 42
coverage: FULL
}
covered_line {
line_number: 43
coverage: FULL
}
covered_line {
line_number: 44
coverage: FULL
}
covered_line {
line_number: 45
coverage: FULL
}
covered_line {
line_number: 46
coverage: FULL
}
covered_line {
line_number: 47
coverage: FULL
}
covered_line {
line_number: 49
coverage: FULL
}
covered_line {
line_number: 58
coverage: FULL
}
covered_line {
line_number: 59
coverage: FULL
}
lines_found: 19
lines_hit: 19
function_coverage {
line_number: 58
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature$Companion::createSignature$utility_src_main_java_org_oppia_android_util_parser_math_math_latex_model_kt
(Ljava/lang/String;FZ)Lorg/oppia/android/util/parser/math/MathModel$MathModelSignature;"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 33
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature::
(Ljava/lang/String;IZ)V"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 35
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature::getLineHeightHundredX
()I"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 34
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature::getRawLatex
()Ljava/lang/String;"
execution_count: 0
coverage: NONE
}
function_coverage {
line_number: 36
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature::getUseInlineRendering
()Z"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 41
function_name:
"org/oppia/android/util/parser/math/MathModel$MathModelSignature::updateDiskCacheKey
(Ljava/security/MessageDigest;)V"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 14
function_name: "org/oppia/android/util/parser/math/MathModel::
(Ljava/lang/String;FZ)V"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 16
function_name:
"org/oppia/android/util/parser/math/MathModel::getLineHeight ()F"
execution_count: 0
coverage: NONE
}
function_coverage {
line_number: 15
function_name:
"org/oppia/android/util/parser/math/MathModel::getRawLatex
()Ljava/lang/String;"
execution_count: 0
coverage: NONE
}
function_coverage {
line_number: 17
function_name:
"org/oppia/android/util/parser/math/MathModel::getUseInlineRendering
()Z"
execution_count: 0
coverage: NONE
}
function_coverage {
line_number: 21
function_name:
"org/oppia/android/util/parser/math/MathModel::toKeySignature
()Lorg/oppia/android/util/parser/math/MathModel$MathModelSignature;"
execution_count: 1
coverage: FULL
}
functions_found: 11
functions_hit: 7
branch_coverage {
line_number: 46
block_number: 0
branch_number: 0
hit_count: 1
coverage: FULL
}
branch_coverage {
line_number: 46
block_number: 0
branch_number: 1
hit_count: 1
coverage: FULL
}
branches_found: 2
branches_hit: 2
}
, bazel_test_target:
"//utility/src/test/java/org/oppia/android/util/math:FloatExtensionsTest"
covered_file {
file_path:
"utility/src/main/java/org/oppia/android/util/math/FloatExtensions.kt"
file_sha1_hash: "178a2d84e9182a11b41adf34abc0a92a7d365f50"
covered_line {
line_number: 28
coverage: FULL
}
covered_line {
line_number: 36
coverage: FULL
}
covered_line {
line_number: 43
coverage: FULL
}
lines_found: 3
lines_hit: 3
function_coverage {
line_number: 36
function_name:
"org/oppia/android/util/math/FloatExtensionsKt::isApproximatelyEqualTo
(DD)Z"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 28
function_name:
"org/oppia/android/util/math/FloatExtensionsKt::isApproximatelyEqualTo
(FF)Z"
execution_count: 1
coverage: FULL
}
function_coverage {
line_number: 43
function_name:
"org/oppia/android/util/math/FloatExtensionsKt::toPlainString
(D)Ljava/lang/String;"
execution_count: 1
coverage: FULL
}
functions_found: 3
functions_hit: 3
branch_coverage {
line_number: 28
block_number: 0
branch_number: 0
hit_count: 1
coverage: FULL
}
branch_coverage {
line_number: 28
block_number: 0
branch_number: 1
hit_count: 1
coverage: FULL
}
branch_coverage {
line_number: 36
block_number: 0
branch_number: 0
hit_count: 1
coverage: FULL
}
branch_coverage {
line_number: 36
block_number: 0
branch_number: 1
hit_count: 1
coverage: FULL
}
branches_found: 4
branches_hit: 4
}
]
**Representation in Protobuf**
- Function Coverage: Interpreted execution counts to determine coverage
status. Any execution count greater than 0 signifies full coverage,
otherwise considered null.
- Branch Coverage: Determined coverage based on the recorded hit count
for each branch. A hit count greater than 0 denotes full coverage,
otherwise marked as null.
**Usage:**
The stored proto will be used to generate coverage reports in **md** and
**HTML** formats [to be handled in PR 1.5]
## Essential Checklist
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [ ] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).
## For UI-specific PRs only
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- Add a video showing the full UX flow with a screen reader enabled (see
[accessibility
guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide))
- For PRs introducing new UI elements or color changes, both light and
dark mode screenshots must be included
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing
---------
Co-authored-by: Ben Henning