930 B
Coverage report and analysis
Command: python -m pytest --cov=banking --cov-branch --cov-report=term-missing --cov-report=html
Verified run: 17 passed. banking.py: 32 statements, 0 missed; 16 branches, 0 partial; total coverage 100%.
No conditional branches in banking.py remain uncovered. The tests exercise valid operations, boundary values, invalid amounts, insufficient funds, self-transfer, and invalid constructor inputs. The notification is patched at banking.send_notification, so the tests verify its invocation without calling the real external dependency. notification_service.py is intentionally excluded from --cov=banking because this is a unit test of the banking module, not an integration test of the external service.
Coverage measures execution, not proof of correctness; production banking would require additional integration, persistence, concurrency, and transaction-failure tests.