Coverage report: 88%

Files Functions Classes

coverage.py v7.13.5, created at 2026-03-18 11:17 +0000

File function   statements missing excluded   coverage
src / bluetooth_sig / __init__.py (no function)   16 3 0   81%
src / bluetooth_sig / _version.py (no function)   13 0 5   100%
src / bluetooth_sig / advertising / __init__.py (no function)   14 0 0   100%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.__init__   1 0 0   100%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.mac_address   1 0 0   100%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.info   1 0 0   100%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.__init_subclass__   7 1 0   86%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.supports   0 0 0   100%
src / bluetooth_sig / advertising / base.py PayloadInterpreter.interpret   0 0 0   100%
src / bluetooth_sig / advertising / base.py (no function)   38 0 1   100%
src / bluetooth_sig / advertising / ead_decryptor.py _get_aesccm_cipher   4 2 0   50%
src / bluetooth_sig / advertising / ead_decryptor.py build_ead_nonce   8 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py decrypt_ead   16 3 0   81%
src / bluetooth_sig / advertising / ead_decryptor.py decrypt_ead_from_raw   8 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor.__init__   3 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor.from_key   4 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor.from_provider   1 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor._get_cached_cipher   3 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor.decrypt   26 3 0   88%
src / bluetooth_sig / advertising / ead_decryptor.py EADDecryptor.clear_cache   1 0 0   100%
src / bluetooth_sig / advertising / ead_decryptor.py (no function)   25 0 0   100%
src / bluetooth_sig / advertising / encryption.py EADKeyProvider.get_ead_key   0 0 1   100%
src / bluetooth_sig / advertising / encryption.py EncryptionKeyProvider.get_key   0 0 1   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.__init__   9 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.get_key   7 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.get_ead_key   7 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.set_key   3 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.set_ead_key   3 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.remove_key   2 0 0   100%
src / bluetooth_sig / advertising / encryption.py DictKeyProvider.remove_ead_key   2 0 0   100%
src / bluetooth_sig / advertising / encryption.py (no function)   21 0 2   100%
src / bluetooth_sig / advertising / exceptions.py AdvertisingParseError.__init__   13 0 0   100%
src / bluetooth_sig / advertising / exceptions.py EncryptionRequiredError.__init__   3 0 0   100%
src / bluetooth_sig / advertising / exceptions.py DecryptionFailedError.__init__   4 0 0   100%
src / bluetooth_sig / advertising / exceptions.py UnsupportedVersionError.__init__   5 0 0   100%
src / bluetooth_sig / advertising / exceptions.py ReplayDetectedError.__init__   5 0 0   100%
src / bluetooth_sig / advertising / exceptions.py DuplicatePacketError.__init__   4 0 0   100%
src / bluetooth_sig / advertising / exceptions.py (no function)   15 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser.parse_advertising_data   3 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._is_extended_advertising_pdu   5 1 0   80%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_extended_advertising   13 9 0   31%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_extended_pdu   21 13 0   38%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_address_to_string   1 1 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_cte_info   4 4 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_advertising_data_info   4 4 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_auxiliary_pointer_struct   8 8 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_sync_info   11 11 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_extended_header   53 53 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_auxiliary_packets   2 2 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_legacy_advertising   2 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_address_list   6 6 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_16bit_uuids   6 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_32bit_uuids   6 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_128bit_uuids   5 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_manufacturer_data   2 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_core_ad_types   36 12 0   67%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_property_ad_types   19 2 0   89%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_mesh_ad_types   21 12 0   43%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_mesh_beacon   8 8 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_security_ad_types   18 9 0   50%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_directed_ad_types   17 10 0   41%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._handle_location_ad_types   10 5 0   50%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_ad_structures   15 2 0   87%
src / bluetooth_sig / advertising / pdu_parser.py (no function)   78 0 0   100%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.__init__   3 0 0   100%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.register   17 2 0   88%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.unregister   12 6 0   50%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.find_interpreter_class   13 0 0   100%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.find_all_interpreter_classes   10 3 0   70%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.get_registered_interpreters   7 1 0   86%
src / bluetooth_sig / advertising / registry.py PayloadInterpreterRegistry.clear   3 0 0   100%
src / bluetooth_sig / advertising / registry.py parse_advertising_payloads   20 20 0   0%
src / bluetooth_sig / advertising / registry.py (no function)   23 0 0   100%
src / bluetooth_sig / advertising / service_data_parser.py ServiceDataParser.get_characteristic   7 0 0   100%
src / bluetooth_sig / advertising / service_data_parser.py ServiceDataParser.clear_cache   1 0 0   100%
src / bluetooth_sig / advertising / service_data_parser.py ServiceDataParser.build_context   5 0 0   100%
src / bluetooth_sig / advertising / service_data_parser.py ServiceDataParser.parse   7 0 0   100%
src / bluetooth_sig / advertising / service_data_parser.py (no function)   16 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py ResolvedService.__init__   4 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py ResolvedService.__repr__   2 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py AdvertisingServiceResolver.resolve   8 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py AdvertisingServiceResolver.resolve_all   1 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py AdvertisingServiceResolver.get_known_services   1 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py AdvertisingServiceResolver.get_sig_services   1 0 0   100%
src / bluetooth_sig / advertising / service_resolver.py (no function)   13 0 0   100%
src / bluetooth_sig / advertising / sig_characteristic_interpreter.py SIGCharacteristicInterpreter.supports   4 0 0   100%
src / bluetooth_sig / advertising / sig_characteristic_interpreter.py SIGCharacteristicInterpreter.interpret   13 0 0   100%
src / bluetooth_sig / advertising / sig_characteristic_interpreter.py (no function)   20 0 0   100%
src / bluetooth_sig / advertising / state.py (no function)   18 0 0   100%
src / bluetooth_sig / core / __init__.py (no function)   4 0 0   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.__init__   3 0 0   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.__aenter__   1 0 0   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.__aexit__   1 0 0   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.parse   0 0 1   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.parse   0 0 1   100%
src / bluetooth_sig / core / async_context.py AsyncParsingSession.parse   14 0 0   100%
src / bluetooth_sig / core / async_context.py (no function)   14 0 11   100%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.__init__   1 0 0   100%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.encode_characteristic   0 0 1   100%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.encode_characteristic   0 0 1   100%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.encode_characteristic   37 9 0   76%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder._get_characteristic_value_type_class   29 7 0   76%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.validate_characteristic_data   17 4 0   76%
src / bluetooth_sig / core / encoder.py CharacteristicEncoder.create_value   22 7 0   68%
src / bluetooth_sig / core / encoder.py (no function)   21 0 14   100%
src / bluetooth_sig / core / parser.py CharacteristicParser.parse_characteristic   0 0 1   100%
src / bluetooth_sig / core / parser.py CharacteristicParser.parse_characteristic   0 0 1   100%
src / bluetooth_sig / core / parser.py CharacteristicParser.parse_characteristic   29 8 0   72%
src / bluetooth_sig / core / parser.py CharacteristicParser.parse_characteristics   1 0 0   100%
src / bluetooth_sig / core / parser.py CharacteristicParser._parse_characteristics_batch   17 0 0   100%
src / bluetooth_sig / core / parser.py CharacteristicParser._prepare_characteristic_dependencies   17 1 0   94%
src / bluetooth_sig / core / parser.py CharacteristicParser._resolve_dependency_order   13 0 0   100%
src / bluetooth_sig / core / parser.py CharacteristicParser._find_missing_required_dependencies   13 1 0   92%
src / bluetooth_sig / core / parser.py CharacteristicParser._log_optional_dependency_gaps   9 1 0   89%
src / bluetooth_sig / core / parser.py CharacteristicParser._build_parse_context   3 1 0   67%
src / bluetooth_sig / core / parser.py (no function)   25 0 13   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.supports   6 0 0   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_value_type   2 0 0   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_characteristic_info_by_uuid   12 2 0   83%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_characteristic_uuid_by_name   2 0 0   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_service_uuid_by_name   3 0 0   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_characteristic_info_by_name   11 3 0   73%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_service_info_by_name   8 2 0   75%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_service_info_by_uuid   11 3 0   73%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.list_supported_characteristics   7 2 0   71%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.list_supported_services   9 2 0   78%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_characteristics_info_by_uuids   4 0 0   100%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_service_characteristics   15 4 0   73%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_sig_info_by_name   10 2 0   80%
src / bluetooth_sig / core / query.py CharacteristicQueryEngine.get_sig_info_by_uuid   7 0 0   100%
src / bluetooth_sig / core / query.py (no function)   27 0 0   100%
src / bluetooth_sig / core / registration.py RegistrationManager.register_custom_characteristic_class   3 0 0   100%
src / bluetooth_sig / core / registration.py RegistrationManager.register_custom_service_class   3 0 0   100%
src / bluetooth_sig / core / registration.py (no function)   13 0 0   100%
src / bluetooth_sig / core / service_manager.py ServiceManager.__init__   1 0 0   100%
src / bluetooth_sig / core / service_manager.py ServiceManager.process_services   15 14 0   7%
src / bluetooth_sig / core / service_manager.py ServiceManager.get_service_by_uuid   1 1 0   0%
src / bluetooth_sig / core / service_manager.py ServiceManager.discovered_services   1 0 0   100%
src / bluetooth_sig / core / service_manager.py ServiceManager.clear_services   1 0 0   100%
src / bluetooth_sig / core / service_manager.py (no function)   15 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.__new__   3 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_instance   3 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.__init__   8 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.__str__   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristics   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.validate_characteristic_data   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.create_value   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_value_type   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.supports   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_info_by_uuid   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_uuid_by_name   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_uuid_by_name   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_info_by_name   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_info_by_name   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_info_by_uuid   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.list_supported_characteristics   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.list_supported_services   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristics_info_by_uuids   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_characteristics   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_sig_info_by_name   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_sig_info_by_uuid   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.process_services   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_by_uuid   1 1 0   0%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.discovered_services   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.clear_services   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.register_custom_characteristic_class   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.register_custom_service_class   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic_async   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic_async   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristic_async   4 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristics_async   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic_async   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic_async   0 0 1   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic_async   4 0 0   100%
src / bluetooth_sig / core / translator.py (no function)   53 0 54   100%
src / bluetooth_sig / device / __init__.py (no function)   10 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.__init__   8 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.mac_address   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.set_registry   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.register_interpreter   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.get_interpreter   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.set_bindkey   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process   17 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising._run_interpreter   1 0 0   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process_from_connection_manager   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process_from_connection_manager   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.process_from_connection_manager   16 16 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.parse_raw_pdu   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.parse_raw_pdu   0 0 1   100%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.parse_raw_pdu   17 6 0   65%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.subscribe   3 3 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising.unsubscribe   8 8 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising._dispatch_to_callbacks   5 5 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising._enable_backend_monitoring   8 8 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising._disable_backend_monitoring   3 3 0   0%
src / bluetooth_sig / device / advertising.py DeviceAdvertising._backend_callback_handler   6 6 0   0%
src / bluetooth_sig / device / advertising.py (no function)   31 0 38   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.__init__   4 0 0   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.read   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.read   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.read   18 9 0   50%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.write   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.write   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.write   10 6 0   40%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.start_notify   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.start_notify   0 0 1   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.start_notify   10 5 0   50%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.start_notify._typed_cb   6 6 0   0%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.start_notify._internal_cb   5 0 0   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.stop_notify   2 2 0   0%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.read_multiple   11 0 0   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO.write_multiple   11 0 0   100%
src / bluetooth_sig / device / characteristic_io.py CharacteristicIO._resolve_characteristic_name   10 5 0   50%
src / bluetooth_sig / device / characteristic_io.py (no function)   23 0 37   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.__init__   1 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.address   1 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.connect   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.disconnect   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.read_gatt_char   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.write_gatt_char   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.read_gatt_descriptor   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.write_gatt_descriptor   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.get_services   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.start_notify   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.stop_notify   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.pair   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.unpair   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.read_rssi   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.get_advertisement_rssi   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.set_disconnected_callback   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.register_advertisement_callback   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.unregister_advertisement_callback   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.is_connected   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.mtu_size   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.name   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.scan   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.find_device   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.scan_stream   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.get_latest_advertisement   0 0 0   100%
src / bluetooth_sig / device / client.py ClientManagerProtocol.on_advertisement_received   1 1 0   0%
src / bluetooth_sig / device / client.py ClientManagerProtocol.convert_advertisement   0 0 0   100%
src / bluetooth_sig / device / client.py (no function)   64 0 0   100%
src / bluetooth_sig / device / connected.py DeviceConnected.__init__   6 0 0   100%
src / bluetooth_sig / device / connected.py DeviceConnected.mac_address   1 1 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.connection_manager   1 1 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.connection_manager   1 1 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.is_connected   1 0 0   100%
src / bluetooth_sig / device / connected.py DeviceConnected.connect   4 1 0   75%
src / bluetooth_sig / device / connected.py DeviceConnected.disconnect   5 1 0   80%
src / bluetooth_sig / device / connected.py DeviceConnected.discover_services   12 2 0   83%
src / bluetooth_sig / device / connected.py DeviceConnected.read   10 10 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.write   12 12 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.subscribe   11 11 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.subscribe.notification_handler   6 6 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.unsubscribe   7 7 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.read_descriptor   5 2 0   60%
src / bluetooth_sig / device / connected.py DeviceConnected.write_descriptor   5 2 0   60%
src / bluetooth_sig / device / connected.py DeviceConnected.pair   3 1 0   67%
src / bluetooth_sig / device / connected.py DeviceConnected.unpair   3 1 0   67%
src / bluetooth_sig / device / connected.py DeviceConnected.read_rssi   3 1 0   67%
src / bluetooth_sig / device / connected.py DeviceConnected.mtu_size   3 3 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.set_disconnected_callback   3 1 0   67%
src / bluetooth_sig / device / connected.py DeviceConnected.get_cached_characteristic   5 5 0   0%
src / bluetooth_sig / device / connected.py DeviceConnected.cache_characteristic   6 6 0   0%
src / bluetooth_sig / device / connected.py (no function)   47 0 0   100%
src / bluetooth_sig / device / dependency_resolver.py DependencyResolver.__init__   2 0 0   100%
src / bluetooth_sig / device / dependency_resolver.py DependencyResolver.resolve   22 17 0   23%
src / bluetooth_sig / device / dependency_resolver.py DependencyResolver._resolve_single   17 17 0   0%
src / bluetooth_sig / device / dependency_resolver.py (no function)   21 0 0   100%
src / bluetooth_sig / device / device.py Device.__init__   10 0 0   100%
src / bluetooth_sig / device / device.py Device.__str__   3 0 0   100%
src / bluetooth_sig / device / device.py Device.services   1 0 0   100%
src / bluetooth_sig / device / device.py Device.encryption   1 0 0   100%
src / bluetooth_sig / device / device.py Device.address   1 0 0   100%
src / bluetooth_sig / device / device.py Device.scan   1 1 0   0%
src / bluetooth_sig / device / device.py Device.connect   1 0 0   100%
src / bluetooth_sig / device / device.py Device.disconnect   1 0 0   100%
src / bluetooth_sig / device / device.py Device.read   0 0 1   100%
src / bluetooth_sig / device / device.py Device.read   0 0 1   100%
src / bluetooth_sig / device / device.py Device.read   1 0 0   100%
src / bluetooth_sig / device / device.py Device.write   0 0 1   100%
src / bluetooth_sig / device / device.py Device.write   0 0 1   100%
src / bluetooth_sig / device / device.py Device.write   1 0 0   100%
src / bluetooth_sig / device / device.py Device.start_notify   0 0 1   100%
src / bluetooth_sig / device / device.py Device.start_notify   0 0 1   100%
src / bluetooth_sig / device / device.py Device.start_notify   1 0 0   100%
src / bluetooth_sig / device / device.py Device.stop_notify   1 1 0   0%
src / bluetooth_sig / device / device.py Device.read_descriptor   6 1 0   83%
src / bluetooth_sig / device / device.py Device.write_descriptor   3 0 0   100%
src / bluetooth_sig / device / device.py Device.pair   1 0 0   100%
src / bluetooth_sig / device / device.py Device.unpair   1 0 0   100%
src / bluetooth_sig / device / device.py Device.read_rssi   1 0 0   100%
src / bluetooth_sig / device / device.py Device.set_disconnected_callback   1 0 0   100%
src / bluetooth_sig / device / device.py Device.mtu_size   1 1 0   0%
src / bluetooth_sig / device / device.py Device.refresh_advertisement   10 10 0   0%
src / bluetooth_sig / device / device.py Device.parse_raw_advertisement   5 0 0   100%
src / bluetooth_sig / device / device.py Device.get_characteristic_data   4 4 0   0%
src / bluetooth_sig / device / device.py Device.discover_services   3 0 0   100%
src / bluetooth_sig / device / device.py Device.get_characteristic_info   8 4 0   50%
src / bluetooth_sig / device / device.py Device.read_multiple   1 0 0   100%
src / bluetooth_sig / device / device.py Device.write_multiple   1 0 0   100%
src / bluetooth_sig / device / device.py Device.device_info   7 0 0   100%
src / bluetooth_sig / device / device.py Device.name   1 0 0   100%
src / bluetooth_sig / device / device.py Device.name   3 0 0   100%
src / bluetooth_sig / device / device.py Device.is_connected   1 0 0   100%
src / bluetooth_sig / device / device.py Device.last_advertisement   1 0 0   100%
src / bluetooth_sig / device / device.py Device.get_service_by_uuid   1 1 0   0%
src / bluetooth_sig / device / device.py Device.get_services_by_name   4 4 0   0%
src / bluetooth_sig / device / device.py Device.list_characteristics   6 6 0   0%
src / bluetooth_sig / device / device.py (no function)   67 0 37   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.__init__   10 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.name   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.services   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.manufacturer_data   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.service_data   1 1 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.tx_power   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.is_connectable_config   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.is_discoverable_config   1 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_manufacturer_data   4 4 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_manufacturer_id   5 1 0   80%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_service_data   4 4 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_tx_power   4 1 0   75%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_connectable   4 1 0   75%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.with_discoverable   4 1 0   75%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.add_service   10 3 0   70%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.get_characteristic_definition   2 2 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.set_read_callback   4 4 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.set_write_callback   4 4 0   0%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.start   0 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.stop   0 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.is_advertising   0 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.update_characteristic   0 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.get_characteristic_value   0 0 0   100%
src / bluetooth_sig / device / peripheral.py PeripheralManagerProtocol.connected_clients   1 1 0   0%
src / bluetooth_sig / device / peripheral.py (no function)   49 0 0   100%
src / bluetooth_sig / device / peripheral_device.py HostedCharacteristic.__init__   3 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.__init__   3 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.name   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.is_advertising   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.services   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.hosted_characteristics   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.add_characteristic   10 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.add_service   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.start   4 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.stop   1 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.update_value   7 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.update_raw   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.get_current_value   5 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.with_manufacturer_data   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.with_tx_power   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.with_connectable   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.with_discoverable   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice._resolve_uuid_key   3 0 0   100%
src / bluetooth_sig / device / peripheral_device.py PeripheralDevice.__repr__   2 0 0   100%
src / bluetooth_sig / device / peripheral_device.py (no function)   36 0 0   100%
src / bluetooth_sig / device / protocols.py SIGTranslatorProtocol.parse_characteristics   0 0 0   100%
src / bluetooth_sig / device / protocols.py SIGTranslatorProtocol.parse_characteristic   0 0 0   100%
src / bluetooth_sig / device / protocols.py SIGTranslatorProtocol.get_characteristic_uuid_by_name   0 0 0   100%
src / bluetooth_sig / device / protocols.py SIGTranslatorProtocol.get_service_uuid_by_name   0 0 0   100%
src / bluetooth_sig / device / protocols.py SIGTranslatorProtocol.get_characteristic_info_by_name   0 0 0   100%
src / bluetooth_sig / device / protocols.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / __init__.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / __init__.py (no function)   287 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration.py AccelerationCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration.py AccelerationCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration_3d.py Acceleration3DCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration_3d.py Acceleration3DCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration_3d.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / acceleration_detection_status.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / activity_goal.py ActivityGoalCharacteristic._decode_value   45 5 0   89%
src / bluetooth_sig / gatt / characteristics / activity_goal.py ActivityGoalCharacteristic._encode_value   45 32 0   29%
src / bluetooth_sig / gatt / characteristics / activity_goal.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / characteristics / aerobic_heart_rate_lower_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / aerobic_heart_rate_upper_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / aerobic_threshold.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / age.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_category_id.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_category_id_bit_mask.py AlertCategoryIdBitMaskCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_category_id_bit_mask.py AlertCategoryIdBitMaskCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_category_id_bit_mask.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_level.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_notification_control_point.py AlertNotificationControlPointCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_notification_control_point.py AlertNotificationControlPointCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_notification_control_point.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / alert_status.py AlertStatusCharacteristic._decode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / alert_status.py AlertStatusCharacteristic._encode_value   8 8 0   0%
src / bluetooth_sig / gatt / characteristics / alert_status.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / altitude.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / ammonia_concentration.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / anaerobic_heart_rate_lower_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / anaerobic_heart_rate_upper_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / anaerobic_threshold.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_energy_32.py ApparentEnergy32Characteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_energy_32.py ApparentEnergy32Characteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_energy_32.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_power.py ApparentPowerCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_power.py ApparentPowerCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_power.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_wind_direction.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / apparent_wind_speed.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / appearance.py AppearanceCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / appearance.py AppearanceCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / appearance.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / average_current.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / average_voltage.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / barometric_pressure_trend.py BarometricPressureTrend.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / barometric_pressure_trend.py BarometricPressureTrend.from_value   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / barometric_pressure_trend.py (no function)   20 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.__init__   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.__post_init__   25 2 0   92%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_generic_python_type   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_yaml_spec   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.uuid   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.info   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.spec   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.name   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.description   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.role   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.display_name   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.gss_special_values   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.is_special_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_special_value_meaning   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_special_value_type   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._normalize_dependency_class   14 7 0   50%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_dependencies   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.required_dependencies   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.optional_dependencies   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_allows_sig_override   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_configured_info   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_class_uuid   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_class_uuid   10 3 0   70%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_yaml_spec_class   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._resolve_from_basic_registry_class   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.matches_uuid   8 8 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.parse_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.build_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.encode_special   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.encode_special_by_meaning   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.unit   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.unit_symbol   7 7 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_field_unit   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.size   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.python_type   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.is_bitfield   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_yaml_data_type   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_yaml_field_size   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_yaml_unit_id   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_yaml_resolution_text   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.is_signed_from_yaml   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_byte_order_hint   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py (no function)   112 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_critical_status.py BatteryCriticalStatusCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_critical_status.py BatteryCriticalStatusCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_critical_status.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_energy_status.py BatteryEnergyStatusCharacteristic._decode_value   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_energy_status.py BatteryEnergyStatusCharacteristic._encode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_energy_status.py (no function)   28 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_information.py BatteryHealthInformation.__post_init__   6 2 0   67%
src / bluetooth_sig / gatt / characteristics / battery_health_information.py BatteryHealthInformationCharacteristic._decode_value   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_information.py BatteryHealthInformationCharacteristic._encode_value   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_information.py (no function)   22 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_status.py BatteryHealthStatus.__post_init__   8 3 0   62%
src / bluetooth_sig / gatt / characteristics / battery_health_status.py BatteryHealthStatusCharacteristic._decode_value   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_status.py BatteryHealthStatusCharacteristic._encode_value   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_health_status.py (no function)   28 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_information.py BatteryInformation.__post_init__   6 3 0   50%
src / bluetooth_sig / gatt / characteristics / battery_information.py BatteryInformationCharacteristic._decode_value   40 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_information.py BatteryInformationCharacteristic._encode_value   36 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_information.py (no function)   53 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_level.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_level_status.py BatteryLevelStatusCharacteristic._decode_value   29 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_level_status.py BatteryLevelStatusCharacteristic._encode_value   36 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_level_status.py (no function)   56 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py BatteryTimeStatus.__post_init__   6 3 0   50%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py _decode_time_minutes   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py _encode_time_minutes   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py BatteryTimeStatusCharacteristic._decode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py BatteryTimeStatusCharacteristic._encode_value   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / battery_time_status.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BloodPressureDataProtocol.unit   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._parse_blood_pressure_flags   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._parse_blood_pressure_unit   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._parse_optional_fields   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._encode_blood_pressure_flags   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._encode_optional_fields   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py BaseBloodPressureCharacteristic._encode_blood_pressure_base   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_common.py (no function)   42 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_feature.py BloodPressureFeatureCharacteristic._decode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_feature.py BloodPressureFeatureCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_feature.py (no function)   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py BloodPressureData.__post_init__   6 2 0   67%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py BloodPressureMeasurementCharacteristic._decode_value   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py BloodPressureMeasurementCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py (no function)   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_record.py BloodPressureRecordCharacteristic._decode_value   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_record.py BloodPressureRecordCharacteristic._encode_value   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_record.py (no function)   22 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py MassMeasurementResolution.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py HeightMeasurementResolution.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py BodyCompositionFeatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py BodyCompositionFeatureCharacteristic._encode_value   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py BodyCompositionFeatureCharacteristic._get_mass_resolution   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py BodyCompositionFeatureCharacteristic._get_height_resolution   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / body_composition_feature.py (no function)   63 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementData.__post_init__   24 10 0   58%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._decode_value   11 3 0   73%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._encode_flags_and_body_fat   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._encode_optional_fields   12 2 0   83%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._encode_mass_fields   25 5 0   80%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._encode_other_measurements   17 4 0   76%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._validate_against_feature_characteristic   22 22 0   0%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._parse_flags_and_body_fat   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._parse_basic_optional_fields   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._parse_mass_fields   25 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._parse_other_measurements   17 1 0   94%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._parse_mass_field   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py (no function)   90 0 0   100%
src / bluetooth_sig / gatt / characteristics / body_sensor_location.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / bond_management_control_point.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / bond_management_feature.py BondManagementFeatureCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / bond_management_feature.py BondManagementFeatureCharacteristic._encode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / bond_management_feature.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / boolean.py BooleanCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / boolean.py BooleanCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / boolean.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_input_report.py BootKeyboardInputReportCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_input_report.py BootKeyboardInputReportCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_input_report.py (no function)   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_output_report.py BootKeyboardOutputReportCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_output_report.py BootKeyboardOutputReportCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_keyboard_output_report.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_mouse_input_report.py BootMouseInputReportCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / boot_mouse_input_report.py BootMouseInputReportCharacteristic._encode_value   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / boot_mouse_input_report.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / caloric_intake.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / carbon_monoxide_concentration.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_feature.py CGMFeatureCharacteristic._decode_value   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_feature.py CGMFeatureCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_feature.py (no function)   54 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_measurement.py _decode_single_record   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_measurement.py _encode_single_record   28 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_measurement.py CGMMeasurementCharacteristic._decode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_measurement.py CGMMeasurementCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_measurement.py (no function)   56 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_run_time.py CGMSessionRunTimeCharacteristic._decode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_run_time.py CGMSessionRunTimeCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_run_time.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_start_time.py CGMSessionStartTimeCharacteristic._decode_value   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_start_time.py CGMSessionStartTimeCharacteristic._encode_value   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_session_start_time.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_status.py CGMStatusCharacteristic._decode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_status.py CGMStatusCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / cgm_status.py (no function)   38 0 0   100%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py SIGCharacteristicResolver.resolve_for_class   7 4 0   43%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py SIGCharacteristicResolver.resolve_yaml_spec_for_class   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py SIGCharacteristicResolver._create_info_from_yaml   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py SIGCharacteristicResolver.resolve_from_registry   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py CharacteristicMeta.__new__   8 1 0   88%
src / bluetooth_sig / gatt / characteristics / characteristic_meta.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromatic_distance_from_planckian.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_coordinate.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_coordinates.py ChromaticityCoordinatesData.__post_init__   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_coordinates.py ChromaticityCoordinatesCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_coordinates.py ChromaticityCoordinatesCharacteristic._encode_value   11 2 0   82%
src / bluetooth_sig / gatt / characteristics / chromaticity_coordinates.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_in_cct_and_duv_values.py ChromaticityInCCTAndDuvData.__post_init__   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / chromaticity_in_cct_and_duv_values.py ChromaticityInCCTAndDuvValuesCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_in_cct_and_duv_values.py ChromaticityInCCTAndDuvValuesCharacteristic._encode_value   12 3 0   75%
src / bluetooth_sig / gatt / characteristics / chromaticity_in_cct_and_duv_values.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / chromaticity_tolerance.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / cie_13_3_1995_color_rendering_index.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / co2_concentration.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / coefficient.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / contact_status_8.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / content_control_id.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / context_lookup.py ContextLookupMixin._get_characteristic_uuid_by_name   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / context_lookup.py ContextLookupMixin.get_context_characteristic   18 2 0   89%
src / bluetooth_sig / gatt / characteristics / context_lookup.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / correlated_color_temperature.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / cosine_of_the_angle.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / count_16.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / count_24.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / country_code.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / cross_trainer_data.py CrossTrainerData.__post_init__   40 20 0   50%
src / bluetooth_sig / gatt / characteristics / cross_trainer_data.py CrossTrainerDataCharacteristic._decode_value   76 0 0   100%
src / bluetooth_sig / gatt / characteristics / cross_trainer_data.py CrossTrainerDataCharacteristic._encode_value   77 22 0   71%
src / bluetooth_sig / gatt / characteristics / cross_trainer_data.py (no function)   59 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_feature.py CSCFeatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_feature.py CSCFeatureCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_feature.py (no function)   20 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementCharacteristic._decode_value   22 1 0   95%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementCharacteristic._encode_wheel_data   13 3 0   77%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementCharacteristic._encode_crank_data   13 3 0   77%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementCharacteristic._encode_value   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py CSCMeasurementCharacteristic._validate_against_feature   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / csc_measurement.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / characteristics / current_elapsed_time.py CurrentElapsedTimeCharacteristic._decode_value   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / current_elapsed_time.py CurrentElapsedTimeCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / current_elapsed_time.py (no function)   34 0 0   100%
src / bluetooth_sig / gatt / characteristics / current_time.py CurrentTimeCharacteristic.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / current_time.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / custom.py CustomBaseCharacteristic.get_configured_info   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / custom.py CustomBaseCharacteristic.__init_subclass__   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / custom.py CustomBaseCharacteristic.__init__   14 1 0   93%
src / bluetooth_sig / gatt / characteristics / custom.py CustomBaseCharacteristic.__post_init__   9 4 0   56%
src / bluetooth_sig / gatt / characteristics / custom.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerControlPointData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerOpCode.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerResponseValue.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerControlPointCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerControlPointCharacteristic._encode_value   24 7 0   71%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py CyclingPowerControlPointCharacteristic._parse_op_code_parameters   37 7 0   81%
src / bluetooth_sig / gatt / characteristics / cycling_power_control_point.py (no function)   68 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_feature.py CyclingPowerFeatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_feature.py CyclingPowerFeatureCharacteristic._encode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_feature.py (no function)   22 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_measurement.py CyclingPowerMeasurementData.__post_init__   5 1 0   80%
src / bluetooth_sig / gatt / characteristics / cycling_power_measurement.py CyclingPowerMeasurementCharacteristic._decode_value   40 11 0   72%
src / bluetooth_sig / gatt / characteristics / cycling_power_measurement.py CyclingPowerMeasurementCharacteristic._encode_value   50 7 0   86%
src / bluetooth_sig / gatt / characteristics / cycling_power_measurement.py (no function)   43 0 0   100%
src / bluetooth_sig / gatt / characteristics / cycling_power_vector.py CyclingPowerVectorData.__post_init__   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / cycling_power_vector.py CyclingPowerVectorCharacteristic._decode_value   25 2 0   92%
src / bluetooth_sig / gatt / characteristics / cycling_power_vector.py CyclingPowerVectorCharacteristic._encode_value   33 4 0   88%
src / bluetooth_sig / gatt / characteristics / cycling_power_vector.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / database_change_increment.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_of_birth.py DateOfBirthCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_of_birth.py DateOfBirthCharacteristic._encode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_of_birth.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_of_threshold_assessment.py DateOfThresholdAssessmentCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_of_threshold_assessment.py DateOfThresholdAssessmentCharacteristic._encode_value   11 3 0   73%
src / bluetooth_sig / gatt / characteristics / date_of_threshold_assessment.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_time.py DateTimeCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_time.py DateTimeCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_time.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / date_utc.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / day_date_time.py DayDateTimeCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / day_date_time.py DayDateTimeCharacteristic._encode_value   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / day_date_time.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / day_of_week.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.add_descriptor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_descriptor   7 2 0   71%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_descriptors   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_cccd   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.can_notify   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_descriptor_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_valid_range_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_presentation_format_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.get_user_description_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.validate_value_against_descriptor_range   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py DescriptorMixin.enhance_error_message_with_descriptors   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / descriptor_mixin.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / device_info.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / device_name.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / device_wearing_position.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / dew_point.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / door_window_status.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / dst_offset.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_range.py ElectricCurrentRangeData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / electric_current_range.py ElectricCurrentRangeCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_range.py ElectricCurrentRangeCharacteristic._encode_value   11 2 0   82%
src / bluetooth_sig / gatt / characteristics / electric_current_range.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_specification.py ElectricCurrentSpecificationData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / electric_current_specification.py ElectricCurrentSpecificationCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_specification.py ElectricCurrentSpecificationCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_specification.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_statistics.py ElectricCurrentStatisticsData.__post_init__   8 3 0   62%
src / bluetooth_sig / gatt / characteristics / electric_current_statistics.py ElectricCurrentStatisticsCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_statistics.py ElectricCurrentStatisticsCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / electric_current_statistics.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / elevation.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / email_address.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / energy.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / energy_32.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / energy_in_a_period_of_day.py EnergyInAPeriodOfDayData.__post_init__   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / energy_in_a_period_of_day.py EnergyInAPeriodOfDayCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / energy_in_a_period_of_day.py EnergyInAPeriodOfDayCharacteristic._encode_value   10 1 0   90%
src / bluetooth_sig / gatt / characteristics / energy_in_a_period_of_day.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_blood_pressure_measurement.py EnhancedBloodPressureMeasurementCharacteristic._decode_value   28 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_blood_pressure_measurement.py EnhancedBloodPressureMeasurementCharacteristic._encode_value   30 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_blood_pressure_measurement.py (no function)   37 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_intermediate_cuff_pressure.py EnhancedIntermediateCuffPressureCharacteristic._decode_value   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_intermediate_cuff_pressure.py EnhancedIntermediateCuffPressureCharacteristic._encode_value   28 0 0   100%
src / bluetooth_sig / gatt / characteristics / enhanced_intermediate_cuff_pressure.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / estimated_service_date.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / event_statistics.py _decode_time_exponential   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / event_statistics.py _encode_time_exponential   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / event_statistics.py EventStatisticsData.__post_init__   8 2 0   75%
src / bluetooth_sig / gatt / characteristics / event_statistics.py EventStatisticsCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / event_statistics.py EventStatisticsCharacteristic._encode_value   12 2 0   83%
src / bluetooth_sig / gatt / characteristics / event_statistics.py (no function)   23 0 0   100%
src / bluetooth_sig / gatt / characteristics / exact_time_256.py ExactTime256Characteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / exact_time_256.py ExactTime256Characteristic._encode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / exact_time_256.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / fat_burn_heart_rate_lower_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / fat_burn_heart_rate_upper_limit.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / firmware_revision_string.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / first_name.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py decode_energy_triplet   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py decode_heart_rate   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py decode_metabolic_equivalent   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py decode_elapsed_time   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py decode_remaining_time   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py encode_energy_triplet   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py encode_heart_rate   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py encode_metabolic_equivalent   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py encode_elapsed_time   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py encode_remaining_time   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / fitness_machine_common.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / five_zone_heart_rate_limits.py FiveZoneHeartRateLimitsCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / five_zone_heart_rate_limits.py FiveZoneHeartRateLimitsCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / five_zone_heart_rate_limits.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / fixed_string_16.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fixed_string_24.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fixed_string_36.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fixed_string_64.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / fixed_string_8.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / floor_number.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / force.py ForceCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / force.py ForceCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / force.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / four_zone_heart_rate_limits.py FourZoneHeartRateLimitsCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / four_zone_heart_rate_limits.py FourZoneHeartRateLimitsCharacteristic._encode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / four_zone_heart_rate_limits.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / gender.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / generic_level.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / global_trade_item_number.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py GlucoseFeatures.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py GlucoseFeatures.get_enabled_features   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py GlucoseFeatureCharacteristic._decode_value   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py GlucoseFeatureCharacteristic._encode_value   24 8 0   67%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py GlucoseFeatureCharacteristic.get_feature_description   8 3 0   62%
src / bluetooth_sig / gatt / characteristics / glucose_feature.py (no function)   45 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseType.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py SampleLocation.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseMeasurementData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseMeasurementData.is_reserved_range   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseMeasurementCharacteristic._decode_value   33 3 0   91%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseMeasurementCharacteristic._encode_value   29 3 0   90%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py GlucoseMeasurementCharacteristic._validate_sensor_status_against_feature   22 22 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement.py (no function)   64 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py CarbohydrateType.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py MealType.__str__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseTester.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py HealthType.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py MedicationType.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextExtendedFlags.get_description   8 8 0   0%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextData.__post_init__   4 2 0   50%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._decode_value   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._encode_value   25 6 0   76%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_extended_flags   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_carbohydrate_info   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_meal_info   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_tester_health_info   10 6 0   40%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_exercise_info   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_medication_info   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py GlucoseMeasurementContextCharacteristic._parse_hba1c_info   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / glucose_measurement_context.py (no function)   126 0 0   100%
src / bluetooth_sig / gatt / characteristics / gust_factor.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / handedness.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / hardware_revision_string.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / heart_rate_control_point.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / heart_rate_max.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py SensorContactState.__str__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py SensorContactState.__eq__   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py SensorContactState.__hash__   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py SensorContactState.from_flags   5 1 0   80%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py HeartRateData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py HeartRateMeasurementCharacteristic._decode_value   29 3 0   90%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py HeartRateMeasurementCharacteristic._encode_value   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / heart_rate_measurement.py (no function)   43 0 0   100%
src / bluetooth_sig / gatt / characteristics / heat_index.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / height.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / hid_control_point.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / hid_information.py HidInformationData.__post_init__   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / hid_information.py HidInformationCharacteristic._decode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / hid_information.py HidInformationCharacteristic._encode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / hid_information.py (no function)   23 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_intensity_exercise_threshold.py HighIntensityExerciseThresholdCharacteristic._decode_value   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_intensity_exercise_threshold.py HighIntensityExerciseThresholdCharacteristic._encode_value   11 6 0   45%
src / bluetooth_sig / gatt / characteristics / high_intensity_exercise_threshold.py (no function)   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_resolution_height.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_temperature.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_voltage.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / hip_circumference.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / humidity.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / humidity_8.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / ieee_11073_20601_regulatory_certification_data_list.py IEEE1107320601RegulatoryCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / ieee_11073_20601_regulatory_certification_data_list.py IEEE1107320601RegulatoryCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / ieee_11073_20601_regulatory_certification_data_list.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / illuminance.py IlluminanceCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / illuminance.py IlluminanceCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / illuminance.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / illuminance_16.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / indoor_bike_data.py IndoorBikeData.__post_init__   30 15 0   50%
src / bluetooth_sig / gatt / characteristics / indoor_bike_data.py IndoorBikeDataCharacteristic._decode_value   57 0 0   100%
src / bluetooth_sig / gatt / characteristics / indoor_bike_data.py IndoorBikeDataCharacteristic._encode_value   60 0 0   100%
src / bluetooth_sig / gatt / characteristics / indoor_bike_data.py (no function)   49 0 0   100%
src / bluetooth_sig / gatt / characteristics / indoor_positioning_configuration.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py IntermediateCuffPressureData.__post_init__   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py IntermediateCuffPressureCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py IntermediateCuffPressureCharacteristic._encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / intermediate_temperature.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / irradiance.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / language.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / last_name.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / latitude.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / light_distribution.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / light_output.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / light_source_type.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / linear_position.py LinearPositionCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / linear_position.py LinearPositionCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / linear_position.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py LNControlPointOpCode.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py LNControlPointResponseValue.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py LNControlPointData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py LNControlPointCharacteristic._decode_value   48 7 0   85%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py LNControlPointCharacteristic._encode_value   24 16 0   33%
src / bluetooth_sig / gatt / characteristics / ln_control_point.py (no function)   56 0 0   100%
src / bluetooth_sig / gatt / characteristics / ln_feature.py LNFeatureCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / ln_feature.py LNFeatureCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / ln_feature.py (no function)   55 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_east_coordinate.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_north_coordinate.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_time_information.py DSTOffset.description   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_time_information.py DSTOffset.offset_hours   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_time_information.py LocalTimeInformationCharacteristic._decode_value   30 6 0   80%
src / bluetooth_sig / gatt / characteristics / local_time_information.py LocalTimeInformationCharacteristic._encode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_time_information.py (no function)   36 0 0   100%
src / bluetooth_sig / gatt / characteristics / location_and_speed.py LocationAndSpeedCharacteristic._decode_value   40 0 0   100%
src / bluetooth_sig / gatt / characteristics / location_and_speed.py LocationAndSpeedCharacteristic._encode_value   33 10 0   70%
src / bluetooth_sig / gatt / characteristics / location_and_speed.py (no function)   57 0 0   100%
src / bluetooth_sig / gatt / characteristics / location_name.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / longitude.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_efficacy.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_energy.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_exposure.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_flux.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_flux_range.py LuminousFluxRangeData.__post_init__   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_flux_range.py LuminousFluxRangeCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_flux_range.py LuminousFluxRangeCharacteristic._encode_value   9 2 0   78%
src / bluetooth_sig / gatt / characteristics / luminous_flux_range.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / luminous_intensity.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_declination.py MagneticDeclinationCharacteristic._encode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_declination.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_2d.py MagneticFluxDensity2DCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_2d.py MagneticFluxDensity2DCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_2d.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_3d.py MagneticFluxDensity3DCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_3d.py MagneticFluxDensity3DCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_3d.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / manufacturer_name_string.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / mass_flow.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / maximum_recommended_heart_rate.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / measurement_interval.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / methane_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / middle_name.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / model_number_string.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / navigation.py NavigationCharacteristic._decode_value   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / navigation.py NavigationCharacteristic._encode_value   26 7 0   73%
src / bluetooth_sig / gatt / characteristics / navigation.py (no function)   45 0 0   100%
src / bluetooth_sig / gatt / characteristics / new_alert.py NewAlertCharacteristic._decode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / new_alert.py NewAlertCharacteristic._encode_value   10 1 0   90%
src / bluetooth_sig / gatt / characteristics / new_alert.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / nitrogen_dioxide_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / noise.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / non_methane_voc_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_first_created.py ObjectFirstCreatedCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_first_created.py ObjectFirstCreatedCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_first_created.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_id.py ObjectIdCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_id.py ObjectIdCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_id.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_last_modified.py ObjectLastModifiedCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_last_modified.py ObjectLastModifiedCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_last_modified.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_name.py ObjectNameCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_name.py ObjectNameCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_name.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_type.py ObjectTypeCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / object_type.py ObjectTypeCharacteristic._encode_value   14 1 0   93%
src / bluetooth_sig / gatt / characteristics / object_type.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / ozone_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / perceived_lightness.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / percentage_8.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / percentage_8_steps.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_preferred_connection_parameters.py PeripheralPreferredConnectionParametersCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_preferred_connection_parameters.py PeripheralPreferredConnectionParametersCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_preferred_connection_parameters.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_privacy_flag.py PeripheralPrivacyFlagCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_privacy_flag.py PeripheralPrivacyFlagCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / peripheral_privacy_flag.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / __init__.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline.run   46 7 0   85%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline.encode_special   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline.encode_special_by_meaning   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline._pack_raw_int   11 11 0   0%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py EncodePipeline._is_trace_enabled   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / pipeline / encode_pipeline.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline.run   29 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._perform_length_validation   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._extract_and_check_special   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._decode_and_validate   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._extract_raw_int   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._check_special_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py ParsePipeline._is_trace_enabled   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / parse_pipeline.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py CharacteristicValidator.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py CharacteristicValidator.validate_range   27 9 0   67%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py CharacteristicValidator.validate_type   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py CharacteristicValidator.validate_length   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py _validate_yaml_range   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / pipeline / validation.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / plx_features.py PLXFeaturesCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / plx_features.py PLXFeaturesCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / plx_features.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / plx_spot_check_measurement.py PLXSpotCheckMeasurementCharacteristic._decode_value   21 21 0   0%
src / bluetooth_sig / gatt / characteristics / plx_spot_check_measurement.py PLXSpotCheckMeasurementCharacteristic._encode_value   12 12 0   0%
src / bluetooth_sig / gatt / characteristics / plx_spot_check_measurement.py (no function)   56 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm10_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm1_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm25_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / pnp_id.py PnpIdCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / pnp_id.py PnpIdCharacteristic._encode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / pnp_id.py (no function)   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / pollen_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / position_quality.py PositionQualityCharacteristic._decode_value   32 0 0   100%
src / bluetooth_sig / gatt / characteristics / position_quality.py PositionQualityCharacteristic._encode_value   25 4 0   84%
src / bluetooth_sig / gatt / characteristics / position_quality.py (no function)   34 0 0   100%
src / bluetooth_sig / gatt / characteristics / power.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationData.__init__   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationData.__eq__   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationData.__hash__   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationData.__repr__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationCharacteristic._decode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationCharacteristic._decode_value._convert_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationCharacteristic._encode_value   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py PowerSpecificationCharacteristic._encode_value._convert_to_raw   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / power_specification.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / precise_acceleration_3d.py PreciseAcceleration3DCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / precise_acceleration_3d.py PreciseAcceleration3DCharacteristic._encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / precise_acceleration_3d.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / preferred_units.py PreferredUnitsCharacteristic._decode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / preferred_units.py PreferredUnitsCharacteristic._encode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / preferred_units.py PreferredUnitsCharacteristic.get_units   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / preferred_units.py PreferredUnitsCharacteristic.validate_units   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / preferred_units.py (no function)   20 0 0   100%
src / bluetooth_sig / gatt / characteristics / pressure.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / protocol_mode.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / pulse_oximetry_measurement.py PulseOximetryMeasurementCharacteristic._decode_value   25 5 0   80%
src / bluetooth_sig / gatt / characteristics / pulse_oximetry_measurement.py PulseOximetryMeasurementCharacteristic._encode_value   22 7 0   68%
src / bluetooth_sig / gatt / characteristics / pulse_oximetry_measurement.py (no function)   33 0 0   100%
src / bluetooth_sig / gatt / characteristics / pushbutton_status_8.py PushbuttonStatus8Characteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / pushbutton_status_8.py PushbuttonStatus8Characteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / pushbutton_status_8.py (no function)   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / rainfall.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / reconnection_address.py ReconnectionAddressCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / reconnection_address.py ReconnectionAddressCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / reconnection_address.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / reference_time_information.py ReferenceTimeInformationCharacteristic._decode_value   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / reference_time_information.py ReferenceTimeInformationCharacteristic._encode_value   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / reference_time_information.py _validate_time_source   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / reference_time_information.py _validate_hours_since_update   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / reference_time_information.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py _is_characteristic_subclass   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py _RegistryKeyBuilder.slugify_characteristic_identifier   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py _RegistryKeyBuilder.generate_candidate_keys   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py _RegistryKeyBuilder.build_uuid_to_enum_map   14 14 0   0%
src / bluetooth_sig / gatt / characteristics / registry.py get_characteristic_class_map   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry._get_base_class   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry._discover_sig_classes   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry._build_uuid_to_enum_map   15 2 0   87%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry._build_enum_map   17 5 0   71%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry._load   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.register_characteristic_class   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.unregister_characteristic_class   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.get_characteristic_class   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.get_characteristic_class_by_uuid   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.get_characteristic   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.list_all_characteristic_names   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.list_all_characteristic_enums   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.get_all_characteristics   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.clear_custom_registrations   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / registry.py CharacteristicRegistry.clear_cache   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / registry.py (no function)   50 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_correlated_color_temperature_range.py RelativeRuntimeInACCTRangeData.__post_init__   8 2 0   75%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_correlated_color_temperature_range.py RelativeRuntimeInACorrelatedColorTemperatureRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_correlated_color_temperature_range.py RelativeRuntimeInACorrelatedColorTemperatureRangeCharacteristic._encode_value   12 3 0   75%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_correlated_color_temperature_range.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_current_range.py RelativeRuntimeInACurrentRangeData.__post_init__   9 2 0   78%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_current_range.py RelativeRuntimeInACurrentRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_current_range.py RelativeRuntimeInACurrentRangeCharacteristic._encode_value   14 3 0   79%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_current_range.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_generic_level_range.py RelativeRuntimeInAGenericLevelRangeData.__post_init__   8 2 0   75%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_generic_level_range.py RelativeRuntimeInAGenericLevelRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_generic_level_range.py RelativeRuntimeInAGenericLevelRangeCharacteristic._encode_value   12 3 0   75%
src / bluetooth_sig / gatt / characteristics / relative_runtime_in_a_generic_level_range.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_period_of_day.py RelativeValueInAPeriodOfDayData.__post_init__   7 2 0   71%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_period_of_day.py RelativeValueInAPeriodOfDayCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_period_of_day.py RelativeValueInAPeriodOfDayCharacteristic._encode_value   11 1 0   91%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_period_of_day.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_temperature_range.py RelativeValueInATemperatureRangeData.__post_init__   5 1 0   80%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_temperature_range.py RelativeValueInATemperatureRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_temperature_range.py RelativeValueInATemperatureRangeCharacteristic._encode_value   14 3 0   79%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_temperature_range.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_voltage_range.py RelativeValueInAVoltageRangeData.__post_init__   9 2 0   78%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_voltage_range.py RelativeValueInAVoltageRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_voltage_range.py RelativeValueInAVoltageRangeCharacteristic._encode_value   14 3 0   79%
src / bluetooth_sig / gatt / characteristics / relative_value_in_a_voltage_range.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_an_illuminance_range.py RelativeValueInAnIlluminanceRangeData.__post_init__   9 2 0   78%
src / bluetooth_sig / gatt / characteristics / relative_value_in_an_illuminance_range.py RelativeValueInAnIlluminanceRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / relative_value_in_an_illuminance_range.py RelativeValueInAnIlluminanceRangeCharacteristic._encode_value   14 3 0   79%
src / bluetooth_sig / gatt / characteristics / relative_value_in_an_illuminance_range.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / report.py ReportCharacteristic._decode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / report.py ReportCharacteristic._encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / report.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / report_map.py ReportMapCharacteristic._decode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / report_map.py ReportMapCharacteristic._encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / report_map.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / resting_heart_rate.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / ringer_control_point.py RingerControlPointCharacteristic._encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / ringer_control_point.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / ringer_setting.py RingerSettingCharacteristic._decode_value   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / ringer_setting.py RingerSettingCharacteristic._encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / ringer_setting.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py classify_role   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _classify_yaml_signals   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _classify_name_and_type   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _classify_naming_conventions   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _classify_type_inference   15 1 0   93%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _classify_struct_patterns   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py _spec_has_physical_field_units   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / role_classifier.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / rotational_speed.py RotationalSpeedCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / rotational_speed.py RotationalSpeedCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / rotational_speed.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / rower_data.py RowerData.__post_init__   32 16 0   50%
src / bluetooth_sig / gatt / characteristics / rower_data.py RowerDataCharacteristic._decode_value   58 0 0   100%
src / bluetooth_sig / gatt / characteristics / rower_data.py RowerDataCharacteristic._encode_value   60 0 0   100%
src / bluetooth_sig / gatt / characteristics / rower_data.py (no function)   49 0 0   100%
src / bluetooth_sig / gatt / characteristics / rsc_feature.py RSCFeatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / rsc_feature.py RSCFeatureCharacteristic._encode_value   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / rsc_feature.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / rsc_measurement.py RSCMeasurementData.__post_init__   4 2 0   50%
src / bluetooth_sig / gatt / characteristics / rsc_measurement.py RSCMeasurementCharacteristic._validate_against_feature   7 4 0   43%
src / bluetooth_sig / gatt / characteristics / rsc_measurement.py RSCMeasurementCharacteristic._decode_value   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / rsc_measurement.py RSCMeasurementCharacteristic._encode_value   32 6 0   81%
src / bluetooth_sig / gatt / characteristics / rsc_measurement.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / scan_interval_window.py ScanIntervalWindowCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / scan_interval_window.py ScanIntervalWindowCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / scan_interval_window.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / scan_refresh.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / sedentary_interval_notification.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / sensor_location.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / serial_number_string.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / service_changed.py ServiceChangedCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / service_changed.py ServiceChangedCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / service_changed.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / software_revision_string.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / sport_type_for_aerobic_and_anaerobic_thresholds.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / stair_climber_data.py StairClimberData.__post_init__   24 12 0   50%
src / bluetooth_sig / gatt / characteristics / stair_climber_data.py StairClimberDataCharacteristic._decode_value   40 0 0   100%
src / bluetooth_sig / gatt / characteristics / stair_climber_data.py StairClimberDataCharacteristic._encode_value   43 0 0   100%
src / bluetooth_sig / gatt / characteristics / stair_climber_data.py (no function)   40 0 0   100%
src / bluetooth_sig / gatt / characteristics / step_climber_data.py StepClimberData.__post_init__   24 12 0   50%
src / bluetooth_sig / gatt / characteristics / step_climber_data.py StepClimberDataCharacteristic._decode_value   38 0 0   100%
src / bluetooth_sig / gatt / characteristics / step_climber_data.py StepClimberDataCharacteristic._encode_value   41 0 0   100%
src / bluetooth_sig / gatt / characteristics / step_climber_data.py (no function)   39 0 0   100%
src / bluetooth_sig / gatt / characteristics / stride_length.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / sulfur_dioxide_concentration.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / sulfur_hexafluoride_concentration.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_heart_rate_range.py SupportedHeartRateRangeData.__post_init__   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_heart_rate_range.py SupportedHeartRateRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_heart_rate_range.py SupportedHeartRateRangeCharacteristic._encode_value   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / supported_heart_rate_range.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_inclination_range.py SupportedInclinationRangeData.__post_init__   10 2 0   80%
src / bluetooth_sig / gatt / characteristics / supported_inclination_range.py SupportedInclinationRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_inclination_range.py SupportedInclinationRangeCharacteristic._encode_value   13 2 0   85%
src / bluetooth_sig / gatt / characteristics / supported_inclination_range.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_new_alert_category.py SupportedNewAlertCategoryCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_new_alert_category.py SupportedNewAlertCategoryCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_new_alert_category.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_power_range.py SupportedPowerRangeData.__post_init__   6 3 0   50%
src / bluetooth_sig / gatt / characteristics / supported_power_range.py SupportedPowerRangeCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_power_range.py SupportedPowerRangeCharacteristic._encode_value   10 3 0   70%
src / bluetooth_sig / gatt / characteristics / supported_power_range.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_resistance_level_range.py SupportedResistanceLevelRangeData.__post_init__   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_resistance_level_range.py SupportedResistanceLevelRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_resistance_level_range.py SupportedResistanceLevelRangeCharacteristic._encode_value   13 2 0   85%
src / bluetooth_sig / gatt / characteristics / supported_resistance_level_range.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_speed_range.py SupportedSpeedRangeData.__post_init__   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_speed_range.py SupportedSpeedRangeCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_speed_range.py SupportedSpeedRangeCharacteristic._encode_value   13 2 0   85%
src / bluetooth_sig / gatt / characteristics / supported_speed_range.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_unread_alert_category.py SupportedUnreadAlertCategoryCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_unread_alert_category.py SupportedUnreadAlertCategoryCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_unread_alert_category.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / system_id.py SystemIdCharacteristic._decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / system_id.py SystemIdCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / system_id.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature.py TemperatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature.py TemperatureCharacteristic._encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_in_a_period_of_day.py Temperature8InAPeriodOfDayData.__post_init__   8 2 0   75%
src / bluetooth_sig / gatt / characteristics / temperature_8_in_a_period_of_day.py Temperature8InAPeriodOfDayCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_in_a_period_of_day.py Temperature8InAPeriodOfDayCharacteristic._encode_value   13 2 0   85%
src / bluetooth_sig / gatt / characteristics / temperature_8_in_a_period_of_day.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py _decode_time_exponential   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py _encode_time_exponential   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py Temperature8StatisticsData.__post_init__   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py Temperature8StatisticsCharacteristic._decode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py Temperature8StatisticsCharacteristic._encode_value   17 2 0   88%
src / bluetooth_sig / gatt / characteristics / temperature_8_statistics.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_measurement.py TemperatureMeasurementData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / temperature_measurement.py TemperatureMeasurementCharacteristic._decode_value   12 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_measurement.py TemperatureMeasurementCharacteristic._encode_value   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_measurement.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_range.py TemperatureRangeData.__post_init__   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / temperature_range.py TemperatureRangeCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_range.py TemperatureRangeCharacteristic._encode_value   11 2 0   82%
src / bluetooth_sig / gatt / characteristics / temperature_range.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py _decode_time_exponential   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py _encode_time_exponential   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py TemperatureStatisticsData.__post_init__   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py TemperatureStatisticsCharacteristic._decode_value   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py TemperatureStatisticsCharacteristic._encode_value   17 2 0   88%
src / bluetooth_sig / gatt / characteristics / temperature_statistics.py (no function)   23 0 0   100%
src / bluetooth_sig / gatt / characteristics / temperature_type.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / __init__.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.decode_value   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.encode_value   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.data_size   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / base.py CodingTemplate.resolve_python_type   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / base.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / composite.py TimeDataTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py TimeDataTemplate.decode_value   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / composite.py TimeDataTemplate.encode_value   15 1 0   93%
src / bluetooth_sig / gatt / characteristics / templates / composite.py VectorTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py VectorTemplate.decode_value   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py VectorTemplate.encode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py Vector2DTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py Vector2DTemplate.decode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py Vector2DTemplate.encode_value   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / templates / composite.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / data_structures.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.__init__   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.extractor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.decode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py TemperatureTemplate.encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.__init__   7 5 0   29%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.from_letter_method   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py ConcentrationTemplate.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py PressureTemplate.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / domain.py (no function)   38 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.decode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.encode_value   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.uint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.uint16   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.uint32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.sint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.sint16   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py EnumTemplate.sint32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / enum.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / epoch_date.py EpochDateTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / epoch_date.py EpochDateTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / epoch_date.py EpochDateTemplate.decode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / epoch_date.py EpochDateTemplate.encode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / epoch_date.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.__init__   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.decode_value   6 2 0   67%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.encode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.uint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.uint16   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / flag.py FlagTemplate.uint32   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / flag.py (no function)   25 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py IEEE11073FloatTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py IEEE11073FloatTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py IEEE11073FloatTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py IEEE11073FloatTemplate.decode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py IEEE11073FloatTemplate.encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py Float32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py Float32Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py Float32Template.decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py Float32Template.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / ieee_float.py (no function)   23 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint8Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint8Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint8Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint8Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint8Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint8Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint8Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint8Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint16Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint16Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint16Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint16Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint16Template.extractor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint16Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint16Template.decode_value   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Sint16Template.encode_value   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint24Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint24Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint24Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint24Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint32Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint32Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint32Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint32Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint48Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint48Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint48Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint48Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py Uint48Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates / numeric.py (no function)   70 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.scale_factor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.offset   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate._check_range   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.from_scale_offset   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledTemplate.from_letter_method   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint16Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint16Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint16Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint16Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint8Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint8Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint8Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint8Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint32Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint32Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint24Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledUint24Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint24Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint24Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint32Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py ScaledSint32Template._check_range   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py PercentageTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py PercentageTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py PercentageTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py PercentageTemplate.decode_value   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py PercentageTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / scaled.py (no function)   85 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf8StringTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf8StringTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf8StringTemplate.decode_value   12 1 0   92%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf8StringTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf16StringTemplate.__init__   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf16StringTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf16StringTemplate.decode_value   22 2 0   91%
src / bluetooth_sig / gatt / characteristics / templates / string.py Utf16StringTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / string.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.decode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.seconds_uint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.seconds_uint16   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.seconds_uint24   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.seconds_uint32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.milliseconds_uint24   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.hours_uint24   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeDurationTemplate.decihours_uint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeExponentialTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeExponentialTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeExponentialTemplate.decode_value   7 1 0   86%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py TimeExponentialTemplate.encode_value   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / templates / time_duration.py (no function)   36 0 0   100%
src / bluetooth_sig / gatt / characteristics / three_zone_heart_rate_limits.py ThreeZoneHeartRateLimitsCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / three_zone_heart_rate_limits.py ThreeZoneHeartRateLimitsCharacteristic._encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / three_zone_heart_rate_limits.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_accuracy.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_decihour_8.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_exponential_8.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_hour_24.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_millisecond_24.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_second_16.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_second_32.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_second_8.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_source.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_update_control_point.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_update_state.py TimeUpdateStateCharacteristic.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_update_state.py TimeUpdateStateCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_update_state.py TimeUpdateStateCharacteristic._encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_update_state.py (no function)   25 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_with_dst.py TimeWithDstCharacteristic.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_with_dst.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / time_zone.py TimeZoneCharacteristic._decode_value   13 1 0   92%
src / bluetooth_sig / gatt / characteristics / time_zone.py TimeZoneCharacteristic._encode_value   27 10 0   63%
src / bluetooth_sig / gatt / characteristics / time_zone.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / torque.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / treadmill_data.py TreadmillData.__post_init__   36 18 0   50%
src / bluetooth_sig / gatt / characteristics / treadmill_data.py TreadmillDataCharacteristic._decode_value   67 0 0   100%
src / bluetooth_sig / gatt / characteristics / treadmill_data.py TreadmillDataCharacteristic._encode_value   67 0 0   100%
src / bluetooth_sig / gatt / characteristics / treadmill_data.py (no function)   51 0 0   100%
src / bluetooth_sig / gatt / characteristics / true_wind_direction.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / true_wind_speed.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / two_zone_heart_rate_limits.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / tx_power_level.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / uncertainty.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / unknown.py UnknownCharacteristic.__init__   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / unknown.py UnknownCharacteristic._decode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / unknown.py UnknownCharacteristic._encode_value   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / unknown.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / unread_alert_status.py UnreadAlertStatusCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / unread_alert_status.py UnreadAlertStatusCharacteristic._encode_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / unread_alert_status.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / user_index.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils.py (no function)   7 7 0   0%
src / bluetooth_sig / gatt / characteristics / utils / __init__.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.extract_bit_field   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.set_bit_field   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.create_bitmask   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.test_bit   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.test_bits_any   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.test_bits_all   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.set_bit   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.clear_bit   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.toggle_bit   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.extract_bits   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.set_bits   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.clear_bits   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.toggle_bits   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.count_set_bits   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.get_bit_positions   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.find_first_set_bit   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.find_last_set_bit   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.reverse_bits   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.calculate_parity   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.validate_bit_field_range   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.copy_bit_field   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.shift_bit_field_left   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.shift_bit_field_right   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.merge_bit_fields   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.split_bit_field   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.compare_bit_fields   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.rotate_left   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.rotate_right   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py BitFieldUtils.extract_bit_field_from_mask   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / bit_field_utils.py (no function)   71 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_int8   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_int16   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_int32   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_int24   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_int48   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_float32   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_float64   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_utf8_string   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.parse_variable_length   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_int8   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_int16   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_int32   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_int24   6 2 0   67%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_int48   8 5 0   38%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_float32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py DataParser.encode_float64   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_parser.py (no function)   39 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_data_length   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_range   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_enum_value   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_concentration_range   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_temperature_range   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_percentage   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py DataValidator.validate_power_range   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / data_validator.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_hex_dump   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.validate_round_trip   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_measurement_value   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_hex_data   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_binary_flags   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.validate_struct_format   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_field_error   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_field_errors   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py DebugUtils.format_parse_trace   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / debug_utils.py (no function)   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py RawExtractor.byte_size   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py RawExtractor.signed   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py RawExtractor.extract   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py RawExtractor.pack   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint8Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint8Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint8Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint8Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint8Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint8Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint8Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint8Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint16Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint16Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint16Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint16Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint16Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint16Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint16Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint16Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint16Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint16Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint24Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint24Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint24Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint24Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint24Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint24Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint24Extractor.byte_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint24Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint24Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint24Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint32Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint32Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint32Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint32Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint32Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint32Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint32Extractor.byte_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint32Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint32Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Sint32Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint48Extractor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint48Extractor.byte_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint48Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint48Extractor.extract   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Uint48Extractor.pack   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.byte_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.signed   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.extract   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.pack   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.extract_float   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py Float32Extractor.pack_float   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py get_extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / extractors.py (no function)   117 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.parse_sfloat   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.parse_float32   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.encode_sfloat   20 2 0   90%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.encode_float32   29 1 0   97%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.parse_timestamp   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py IEEE11073Parser.encode_timestamp   13 5 0   62%
src / bluetooth_sig / gatt / characteristics / utils / ieee11073_parser.py (no function)   68 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / parse_trace.py ParseTrace.__init__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / parse_trace.py ParseTrace.append   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / parse_trace.py ParseTrace.get_trace   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / parse_trace.py ParseTrace.enabled   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / parse_trace.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py ValueTranslator.translate   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py ValueTranslator.untranslate   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py IdentityTranslator.translate   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py IdentityTranslator.untranslate   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.from_mdb   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.scale_factor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.offset   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.translate   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py LinearTranslator.untranslate   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py PercentageTranslator.translate   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py PercentageTranslator.untranslate   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py SfloatTranslator.translate   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py SfloatTranslator.untranslate   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / utils / translators.py Float32IEEETranslator.translate   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py Float32IEEETranslator.untranslate   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py Float32IEEE754Translator.translate   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py Float32IEEE754Translator.untranslate   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py create_linear_translator   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / utils / translators.py (no function)   58 0 0   100%
src / bluetooth_sig / gatt / characteristics / uv_index.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / vo2_max.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / voc_concentration.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage_frequency.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage_specification.py VoltageSpecificationData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / voltage_specification.py VoltageSpecificationCharacteristic._decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage_specification.py VoltageSpecificationCharacteristic._encode_value   11 2 0   82%
src / bluetooth_sig / gatt / characteristics / voltage_specification.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage_statistics.py VoltageStatisticsData.__post_init__   8 3 0   62%
src / bluetooth_sig / gatt / characteristics / voltage_statistics.py VoltageStatisticsCharacteristic._decode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / voltage_statistics.py VoltageStatisticsCharacteristic._encode_value   13 2 0   85%
src / bluetooth_sig / gatt / characteristics / voltage_statistics.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / volume_flow.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / waist_circumference.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight_measurement.py WeightMeasurementData.__post_init__   23 10 0   57%
src / bluetooth_sig / gatt / characteristics / weight_measurement.py WeightMeasurementCharacteristic._decode_value   35 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight_measurement.py WeightMeasurementCharacteristic._encode_value   37 4 0   89%
src / bluetooth_sig / gatt / characteristics / weight_measurement.py (no function)   34 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightMeasurementResolution.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py HeightMeasurementResolution.__str__   2 2 0   0%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightScaleFeatureData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightScaleFeatureCharacteristic._decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightScaleFeatureCharacteristic._encode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightScaleFeatureCharacteristic._get_weight_resolution   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py WeightScaleFeatureCharacteristic._get_height_resolution   5 2 0   60%
src / bluetooth_sig / gatt / characteristics / weight_scale_feature.py (no function)   50 0 0   100%
src / bluetooth_sig / gatt / characteristics / wind_chill.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / constants.py (no function)   61 0 0   100%
src / bluetooth_sig / gatt / context.py (no function)   3 0 0   100%
src / bluetooth_sig / gatt / descriptor_utils.py get_descriptors_from_context   3 3 0   0%
src / bluetooth_sig / gatt / descriptor_utils.py get_descriptor_from_context   8 6 0   25%
src / bluetooth_sig / gatt / descriptor_utils.py get_valid_range_from_context   4 1 0   75%
src / bluetooth_sig / gatt / descriptor_utils.py get_presentation_format_from_context   4 4 0   0%
src / bluetooth_sig / gatt / descriptor_utils.py get_user_description_from_context   4 4 0   0%
src / bluetooth_sig / gatt / descriptor_utils.py validate_value_against_descriptor_range   5 5 0   0%
src / bluetooth_sig / gatt / descriptor_utils.py enhance_error_message_with_descriptors   16 16 0   0%
src / bluetooth_sig / gatt / descriptor_utils.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / descriptors / __init__.py (no function)   48 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.__init__   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.__post_init__   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor._resolve_info   7 1 0   86%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.uuid   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.name   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.info   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.parse_value   6 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor.is_writable   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py BaseDescriptor._parse_descriptor_value   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / base.py _RangeValue.min_value   0 0 1   100%
src / bluetooth_sig / gatt / descriptors / base.py _RangeValue.max_value   0 0 1   100%
src / bluetooth_sig / gatt / descriptors / base.py RangeDescriptorMixin._parse_descriptor_value   0 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py RangeDescriptorMixin.get_min_value   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / base.py RangeDescriptorMixin.get_max_value   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / base.py RangeDescriptorMixin.is_value_in_range   4 0 0   100%
src / bluetooth_sig / gatt / descriptors / base.py (no function)   36 0 5   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.create_enable_notifications_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.create_enable_indications_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.create_enable_both_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.create_disable_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.is_notifications_enabled   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.is_indications_enabled   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / cccd.py CCCDDescriptor.is_any_enabled   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / cccd.py (no function)   28 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py CharacteristicAggregateFormatDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py CharacteristicAggregateFormatDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py CharacteristicAggregateFormatDescriptor._parse_descriptor_value   9 1 0   89%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py CharacteristicAggregateFormatDescriptor.get_attribute_handles   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py CharacteristicAggregateFormatDescriptor.get_handle_count   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_aggregate_format.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py CharacteristicExtendedPropertiesDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py CharacteristicExtendedPropertiesDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py CharacteristicExtendedPropertiesDescriptor._parse_descriptor_value   4 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py CharacteristicExtendedPropertiesDescriptor.supports_reliable_write   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py CharacteristicExtendedPropertiesDescriptor.supports_writable_auxiliaries   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_extended_properties.py (no function)   18 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py FormatNamespace._missing_   6 6 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py FormatType._missing_   6 1 0   83%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor._parse_descriptor_value   13 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor.get_format_type   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor.get_exponent   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor.get_unit   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor.get_namespace   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py CharacteristicPresentationFormatDescriptor.get_description   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_presentation_format.py (no function)   72 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_user_description.py CharacteristicUserDescriptionDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_user_description.py CharacteristicUserDescriptionDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / characteristic_user_description.py CharacteristicUserDescriptionDescriptor._parse_descriptor_value   5 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_user_description.py CharacteristicUserDescriptionDescriptor.get_description   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / characteristic_user_description.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / descriptors / complete_br_edr_transport_block_data.py CompleteBREDRTransportBlockDataDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / complete_br_edr_transport_block_data.py CompleteBREDRTransportBlockDataDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / complete_br_edr_transport_block_data.py CompleteBREDRTransportBlockDataDescriptor._parse_descriptor_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / complete_br_edr_transport_block_data.py CompleteBREDRTransportBlockDataDescriptor.get_transport_data   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / complete_br_edr_transport_block_data.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor.has_trigger_logic_value   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor.has_transmission_interval   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py EnvironmentalSensingConfigurationDescriptor.has_measurement_period   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_configuration.py (no function)   26 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor._parse_descriptor_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor.get_sampling_function   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor.get_measurement_period   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor.get_update_interval   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor.get_application   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py EnvironmentalSensingMeasurementDescriptor.get_measurement_uncertainty   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_measurement.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py EnvironmentalSensingTriggerSettingDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py EnvironmentalSensingTriggerSettingDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py EnvironmentalSensingTriggerSettingDescriptor._parse_descriptor_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py EnvironmentalSensingTriggerSettingDescriptor.get_condition   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py EnvironmentalSensingTriggerSettingDescriptor.get_operand   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / environmental_sensing_trigger_setting.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / descriptors / external_report_reference.py ExternalReportReferenceDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / external_report_reference.py ExternalReportReferenceDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / external_report_reference.py ExternalReportReferenceDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / external_report_reference.py ExternalReportReferenceDescriptor.get_external_report_id   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / external_report_reference.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / descriptors / imd_trigger_setting.py IMDTriggerSettingDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / imd_trigger_setting.py IMDTriggerSettingDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / imd_trigger_setting.py IMDTriggerSettingDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / imd_trigger_setting.py IMDTriggerSettingDescriptor.get_trigger_setting   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / imd_trigger_setting.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor._parse_descriptor_value   3 0 0   100%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor.get_min_limit   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor.get_max_limit   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py ManufacturerLimitsDescriptor.is_value_within_limits   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / manufacturer_limits.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / descriptors / measurement_description.py MeasurementDescriptionDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / measurement_description.py MeasurementDescriptionDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / measurement_description.py MeasurementDescriptionDescriptor._parse_descriptor_value   5 0 0   100%
src / bluetooth_sig / gatt / descriptors / measurement_description.py MeasurementDescriptionDescriptor.get_description   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / measurement_description.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / descriptors / number_of_digitals.py NumberOfDigitalsDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / number_of_digitals.py NumberOfDigitalsDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / number_of_digitals.py NumberOfDigitalsDescriptor._parse_descriptor_value   4 0 0   100%
src / bluetooth_sig / gatt / descriptors / number_of_digitals.py NumberOfDigitalsDescriptor.get_number_of_digitals   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / number_of_digitals.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / descriptors / observation_schedule.py ObservationScheduleDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / observation_schedule.py ObservationScheduleDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / observation_schedule.py ObservationScheduleDescriptor._parse_descriptor_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / observation_schedule.py ObservationScheduleDescriptor.get_schedule_data   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / observation_schedule.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py ProcessTolerancesDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py ProcessTolerancesDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py ProcessTolerancesDescriptor._parse_descriptor_value   3 0 0   100%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py ProcessTolerancesDescriptor.get_tolerance_min   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py ProcessTolerancesDescriptor.get_tolerance_max   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / process_tolerances.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / descriptors / registry.py DescriptorRegistry.register   6 2 0   67%
src / bluetooth_sig / gatt / descriptors / registry.py DescriptorRegistry.get_descriptor_class   3 0 0   100%
src / bluetooth_sig / gatt / descriptors / registry.py DescriptorRegistry.create_descriptor   7 2 0   71%
src / bluetooth_sig / gatt / descriptors / registry.py DescriptorRegistry.list_registered_descriptors   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / registry.py (no function)   16 0 0   100%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor._parse_descriptor_value   1 0 0   100%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor.get_report_id   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor.get_report_type   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor.is_input_report   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor.is_output_report   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py ReportReferenceDescriptor.is_feature_report   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / report_reference.py (no function)   21 0 0   100%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor.create_enable_broadcasts_value   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor.create_disable_broadcasts_value   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py ServerCharacteristicConfigurationDescriptor.is_broadcasts_enabled   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / server_characteristic_configuration.py (no function)   19 0 0   100%
src / bluetooth_sig / gatt / descriptors / time_trigger_setting.py TimeTriggerSettingDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / time_trigger_setting.py TimeTriggerSettingDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / time_trigger_setting.py TimeTriggerSettingDescriptor._parse_descriptor_value   2 0 0   100%
src / bluetooth_sig / gatt / descriptors / time_trigger_setting.py TimeTriggerSettingDescriptor.get_time_interval   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / time_trigger_setting.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / descriptors / valid_range.py ValidRangeDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / valid_range.py ValidRangeDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / valid_range.py ValidRangeDescriptor._parse_descriptor_value   3 0 0   100%
src / bluetooth_sig / gatt / descriptors / valid_range.py (no function)   12 0 0   100%
src / bluetooth_sig / gatt / descriptors / valid_range_and_accuracy.py ValidRangeAndAccuracyDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / valid_range_and_accuracy.py ValidRangeAndAccuracyDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / valid_range_and_accuracy.py ValidRangeAndAccuracyDescriptor._parse_descriptor_value   4 0 0   100%
src / bluetooth_sig / gatt / descriptors / valid_range_and_accuracy.py ValidRangeAndAccuracyDescriptor.get_accuracy   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / valid_range_and_accuracy.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor._has_structured_data   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor._get_data_format   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor._parse_descriptor_value   3 0 0   100%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor.get_condition   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor.get_trigger_value   2 2 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor.is_condition_equal_to   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py ValueTriggerSettingDescriptor.is_condition_greater_than   1 1 0   0%
src / bluetooth_sig / gatt / descriptors / value_trigger_setting.py (no function)   24 0 0   100%
src / bluetooth_sig / gatt / exceptions.py UUIDResolutionError.__init__   6 0 0   100%
src / bluetooth_sig / gatt / exceptions.py DataParsingError.__init__   6 0 0   100%
src / bluetooth_sig / gatt / exceptions.py ParseFieldError.__init__   8 0 0   100%
src / bluetooth_sig / gatt / exceptions.py DataEncodingError.__init__   5 0 0   100%
src / bluetooth_sig / gatt / exceptions.py DataValidationError.__init__   5 0 0   100%
src / bluetooth_sig / gatt / exceptions.py InsufficientDataError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py ValueRangeError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py TypeMismatchError.__init__   7 0 0   100%
src / bluetooth_sig / gatt / exceptions.py MissingDependencyError.__init__   5 0 0   100%
src / bluetooth_sig / gatt / exceptions.py EnumValueError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py IEEE11073Error.__init__   3 0 0   100%
src / bluetooth_sig / gatt / exceptions.py YAMLResolutionError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py ServiceCharacteristicMismatchError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py TemplateConfigurationError.__init__   4 0 0   100%
src / bluetooth_sig / gatt / exceptions.py UUIDRequiredError.__init__   4 4 0   0%
src / bluetooth_sig / gatt / exceptions.py UUIDCollisionError.__init__   5 5 0   0%
src / bluetooth_sig / gatt / exceptions.py CharacteristicParseError.__init__   8 0 0   100%
src / bluetooth_sig / gatt / exceptions.py CharacteristicParseError.__str__   5 0 0   100%
src / bluetooth_sig / gatt / exceptions.py SpecialValueDetectedError.__init__   7 0 0   100%
src / bluetooth_sig / gatt / exceptions.py CharacteristicEncodeError.__init__   5 0 0   100%
src / bluetooth_sig / gatt / exceptions.py (no function)   50 0 0   100%
src / bluetooth_sig / gatt / registry_utils.py TypeValidator.is_subclass_of   1 0 0   100%
src / bluetooth_sig / gatt / registry_utils.py ModuleDiscovery.iter_module_names   10 0 0   100%
src / bluetooth_sig / gatt / registry_utils.py ModuleDiscovery.discover_classes   19 1 0   95%
src / bluetooth_sig / gatt / registry_utils.py (no function)   15 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameNormalizer.camel_case_to_display_name   3 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameNormalizer.remove_suffix   3 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameNormalizer.to_org_format   1 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameNormalizer.snake_case_to_camel_case   10 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameVariantGenerator.generate_characteristic_variants   15 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameVariantGenerator.generate_service_variants   15 0 0   100%
src / bluetooth_sig / gatt / resolver.py NameVariantGenerator.generate_descriptor_variants   15 0 0   100%
src / bluetooth_sig / gatt / resolver.py RegistrySearchStrategy.search   6 0 0   100%
src / bluetooth_sig / gatt / resolver.py RegistrySearchStrategy._generate_variants   0 0 0   100%
src / bluetooth_sig / gatt / resolver.py RegistrySearchStrategy._lookup_in_registry   0 0 0   100%
src / bluetooth_sig / gatt / resolver.py CharacteristicRegistrySearch._generate_variants   1 0 0   100%
src / bluetooth_sig / gatt / resolver.py CharacteristicRegistrySearch._lookup_in_registry   1 0 0   100%
src / bluetooth_sig / gatt / resolver.py ServiceRegistrySearch._generate_variants   1 0 0   100%
src / bluetooth_sig / gatt / resolver.py ServiceRegistrySearch._lookup_in_registry   1 0 0   100%
src / bluetooth_sig / gatt / resolver.py DescriptorRegistrySearch._generate_variants   1 1 0   0%
src / bluetooth_sig / gatt / resolver.py DescriptorRegistrySearch._lookup_in_registry   1 1 0   0%
src / bluetooth_sig / gatt / resolver.py (no function)   38 0 0   100%
src / bluetooth_sig / gatt / services / __init__.py (no function)   31 0 0   100%
src / bluetooth_sig / gatt / services / alert_notification.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / automation_io.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / base.py SIGServiceResolver.resolve_for_class   6 2 0   67%
src / bluetooth_sig / gatt / services / base.py SIGServiceResolver.resolve_from_registry   3 0 0   100%
src / bluetooth_sig / gatt / services / base.py ServiceValidationResult.is_healthy   1 0 0   100%
src / bluetooth_sig / gatt / services / base.py ServiceValidationResult.has_errors   1 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.__init__   8 2 0   75%
src / bluetooth_sig / gatt / services / base.py BaseGattService.__post_init__   3 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.uuid   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.name   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.info   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_class_uuid   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_name   7 2 0   71%
src / bluetooth_sig / gatt / services / base.py BaseGattService.matches_uuid   6 2 0   67%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_expected_characteristics   8 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_required_characteristics   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_characteristics_schema   1 1 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_required_characteristic_keys   1 1 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_expected_characteristic_uuids   10 10 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_required_characteristic_uuids   10 2 0   80%
src / bluetooth_sig / gatt / services / base.py BaseGattService.process_characteristics   5 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_characteristic   3 3 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.supported_characteristics   1 1 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_optional_characteristics   3 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_conditional_characteristics   1 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.validate_bluetooth_sig_compliance   10 2 0   80%
src / bluetooth_sig / gatt / services / base.py BaseGattService._validate_characteristic_group   17 5 0   71%
src / bluetooth_sig / gatt / services / base.py BaseGattService._validate_conditional_characteristics   8 7 0   12%
src / bluetooth_sig / gatt / services / base.py BaseGattService._determine_health_status   4 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.validate_service   12 0 0   100%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_missing_characteristics   23 5 0   78%
src / bluetooth_sig / gatt / services / base.py BaseGattService._find_characteristic_enum   4 4 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService._get_characteristic_metadata   10 3 0   70%
src / bluetooth_sig / gatt / services / base.py BaseGattService._get_characteristic_status   9 2 0   78%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_characteristic_status   16 2 0   88%
src / bluetooth_sig / gatt / services / base.py BaseGattService.get_service_completeness_report   11 2 0   82%
src / bluetooth_sig / gatt / services / base.py BaseGattService.has_minimum_functionality   2 0 0   100%
src / bluetooth_sig / gatt / services / base.py (no function)   113 0 0   100%
src / bluetooth_sig / gatt / services / battery_service.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / blood_pressure.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / body_composition.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / bond_management.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / current_time_service.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / custom.py CustomBaseGattService.__init_subclass__   7 0 0   100%
src / bluetooth_sig / gatt / services / custom.py CustomBaseGattService.__init__   6 1 0   83%
src / bluetooth_sig / gatt / services / custom.py CustomBaseGattService.__post_init__   5 3 0   40%
src / bluetooth_sig / gatt / services / custom.py (no function)   11 0 0   100%
src / bluetooth_sig / gatt / services / cycling_power.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / cycling_speed_and_cadence.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / device_information.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / environmental_sensing.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / fitness_machine_service.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / generic_access.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / generic_attribute.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / glucose.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / health_thermometer.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / heart_rate.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / human_interface_device.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / immediate_alert.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / indoor_positioning_service.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / link_loss.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / location_and_navigation.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / next_dst_change.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / phone_alert_status.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / pulse_oximeter_service.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / reference_time_update.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / registry.py _is_service_subclass   1 0 0   100%
src / bluetooth_sig / gatt / services / registry.py get_service_class_map   1 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry._get_base_class   1 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry._discover_sig_classes   3 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry._build_enum_map   19 4 0   79%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry._load   3 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.register_service_class   2 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.unregister_service_class   2 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry._get_services   2 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.get_service_class   9 1 0   89%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.get_service_class_by_name   8 8 0   0%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.get_service_class_by_uuid   1 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.create_service   6 1 0   83%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.get_all_services   1 0 0   100%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.supported_services   1 1 0   0%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.supported_service_names   1 1 0   0%
src / bluetooth_sig / gatt / services / registry.py GattServiceRegistry.clear_custom_registrations   3 0 0   100%
src / bluetooth_sig / gatt / services / registry.py (no function)   41 0 0   100%
src / bluetooth_sig / gatt / services / running_speed_and_cadence.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / scan_parameters.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / tx_power.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / unknown.py UnknownService.__init__   2 0 0   100%
src / bluetooth_sig / gatt / services / unknown.py (no function)   7 0 0   100%
src / bluetooth_sig / gatt / services / user_data.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / services / weight_scale.py (no function)   6 0 0   100%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.__init__   3 0 0   100%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.set_user_override   1 1 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.add_special_value   1 1 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.clear_user_override   1 1 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.disable_special_value   1 1 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.resolve   10 5 0   50%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.get_raw_for_type   5 5 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.get_raw_for_meaning   8 8 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.list_all_rules   10 10 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py SpecialValueResolver.is_special   1 1 0   0%
src / bluetooth_sig / gatt / special_values_resolver.py (no function)   14 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.__init__   14 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._store_service   5 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._store_characteristic   5 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._store_descriptor   5 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._generate_aliases   21 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._load_uuids   26 1 0   96%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._load_gss_characteristic_info   15 1 0   93%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._update_characteristic_with_gss_info   12 1 0   92%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._convert_bluetooth_unit_to_readable   7 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.register_characteristic   12 2 0   83%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.register_service   12 6 0   50%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_service_info   17 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_characteristic_info   17 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_descriptor_info   17 7 0   59%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_gss_spec   22 10 0   55%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.resolve_characteristic_spec   33 0 0   100%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_signed_from_data_type   4 4 0   0%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.get_byte_order_hint   1 1 0   0%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry.clear_custom_registrations   26 3 0   88%
src / bluetooth_sig / gatt / uuid_registry.py (no function)   37 0 0   100%
src / bluetooth_sig / gatt / validation.py ValidationRule.validate   10 0 0   100%
src / bluetooth_sig / gatt / validation.py StrictValidator.add_rule   1 0 0   100%
src / bluetooth_sig / gatt / validation.py StrictValidator.validate_dict   3 0 0   100%
src / bluetooth_sig / gatt / validation.py StrictValidator.validate_object   4 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_positive   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_non_negative   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_percentage   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_extended_percentage   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_physical_temperature   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_concentration   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_power   1 0 0   100%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_heart_rate   1 1 0   0%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_valid_battery_level   1 1 0   0%
src / bluetooth_sig / gatt / validation.py CommonValidators.is_ieee11073_special_value   2 2 0   0%
src / bluetooth_sig / gatt / validation.py create_range_validator   3 3 0   0%
src / bluetooth_sig / gatt / validation.py validate_measurement_data   10 10 0   0%
src / bluetooth_sig / gatt / validation.py (no function)   50 0 0   100%
src / bluetooth_sig / registry / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / registry / base.py RegistryMixin._lazy_load   7 0 0   100%
src / bluetooth_sig / registry / base.py RegistryMixin._ensure_loaded   1 0 0   100%
src / bluetooth_sig / registry / base.py RegistryMixin.ensure_loaded   1 0 0   100%
src / bluetooth_sig / registry / base.py RegistryMixin._load   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseGenericRegistry.__init__   2 0 0   100%
src / bluetooth_sig / registry / base.py BaseGenericRegistry.get_instance   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.__init__   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._load_yaml_path   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._generate_aliases   1 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._post_store   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._store_info   6 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._load_from_yaml   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._load   6 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._create_info_from_yaml   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.get_info   17 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.register_runtime_entry   11 11 0   0%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry._create_runtime_info   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.remove_runtime_override   11 11 0   0%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.list_registered   3 3 0   0%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.list_aliases   3 3 0   0%
src / bluetooth_sig / registry / base.py BaseUUIDRegistry.get_instance   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.__init__   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._get_base_class   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._build_enum_map   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._discover_sig_classes   0 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._allows_sig_override   2 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._get_enum_map   3 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry._get_sig_classes_map   10 2 0   80%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.register_class   16 3 0   81%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.unregister_class   3 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.get_class_by_uuid   6 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.get_class_by_enum   2 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.list_custom_uuids   2 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.clear_enum_map_cache   2 2 0   0%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.get_instance   5 0 0   100%
src / bluetooth_sig / registry / base.py (no function)   71 0 0   100%
src / bluetooth_sig / registry / company_identifiers / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / registry / company_identifiers / company_identifiers_registry.py CompanyIdentifiersRegistry.__init__   2 0 0   100%
src / bluetooth_sig / registry / company_identifiers / company_identifiers_registry.py CompanyIdentifiersRegistry._load_company_identifiers   16 3 0   81%
src / bluetooth_sig / registry / company_identifiers / company_identifiers_registry.py CompanyIdentifiersRegistry._load   14 6 0   57%
src / bluetooth_sig / registry / company_identifiers / company_identifiers_registry.py CompanyIdentifiersRegistry.get_company_name   4 0 0   100%
src / bluetooth_sig / registry / company_identifiers / company_identifiers_registry.py (no function)   15 0 0   100%
src / bluetooth_sig / registry / core / __init__.py (no function)   7 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry._load   32 13 0   59%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry.get_ad_type_info   3 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry.get_ad_type_by_name   3 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry.is_known_ad_type   3 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py ADTypesRegistry.get_all_ad_types   3 0 0   100%
src / bluetooth_sig / registry / core / ad_types.py (no function)   15 0 0   100%
src / bluetooth_sig / registry / core / appearance_values.py AppearanceValuesRegistry.__init__   2 0 0   100%
src / bluetooth_sig / registry / core / appearance_values.py AppearanceValuesRegistry._load   11 4 0   64%
src / bluetooth_sig / registry / core / appearance_values.py AppearanceValuesRegistry._load_yaml   28 7 0   75%
src / bluetooth_sig / registry / core / appearance_values.py AppearanceValuesRegistry.get_appearance_info   4 1 0   75%
src / bluetooth_sig / registry / core / appearance_values.py AppearanceValuesRegistry.find_by_category_subcategory   9 0 0   100%
src / bluetooth_sig / registry / core / appearance_values.py (no function)   15 0 0   100%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry.__init__   4 0 0   100%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry._load   11 4 0   64%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry._load_yaml   7 1 0   86%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry._load_service_classes   8 1 0   88%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry._load_device_classes   9 1 0   89%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry._load_minor_classes   8 0 0   100%
src / bluetooth_sig / registry / core / class_of_device.py ClassOfDeviceRegistry.decode_class_of_device   23 0 0   100%
src / bluetooth_sig / registry / core / class_of_device.py (no function)   26 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry._load   31 13 0   58%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry.get_coding_format_info   3 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry.get_coding_format_by_name   3 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry.is_known_coding_format   3 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py CodingFormatRegistry.get_all_coding_formats   3 0 0   100%
src / bluetooth_sig / registry / core / coding_format.py (no function)   15 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry._load   34 13 0   62%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry.get_format_type_info   3 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry.get_format_type_by_name   3 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry.is_known_format_type   3 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py FormatTypesRegistry.get_all_format_types   3 0 0   100%
src / bluetooth_sig / registry / core / formattypes.py (no function)   15 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry._load   31 13 0   58%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.get_description_info   3 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.get_description_by_name   3 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.is_known_description   3 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.get_all_descriptions   3 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py NamespaceDescriptionRegistry.resolve_description_name   2 0 0   100%
src / bluetooth_sig / registry / core / namespace_description.py (no function)   16 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry._load   31 13 0   58%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.get_uri_scheme_info   3 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.get_uri_scheme_by_name   3 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.is_known_uri_scheme   3 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.get_all_uri_schemes   3 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py UriSchemesRegistry.decode_uri_prefix   2 0 0   100%
src / bluetooth_sig / registry / core / uri_schemes.py (no function)   16 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry.get_instance   5 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._get_units_registry   3 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._load   5 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._find_gss_path   7 3 0   57%
src / bluetooth_sig / registry / gss.py GssRegistry._process_gss_file   22 4 0   82%
src / bluetooth_sig / registry / gss.py GssRegistry.get_spec   3 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry.get_all_specs   3 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry.extract_info_from_gss   22 3 0   86%
src / bluetooth_sig / registry / gss.py GssRegistry._extract_unit_from_description   4 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._extract_unit_id_and_line   13 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._convert_yaml_type_to_python_type   1 0 0   100%
src / bluetooth_sig / registry / gss.py GssRegistry._convert_bluetooth_unit_to_readable   7 0 0   100%
src / bluetooth_sig / registry / gss.py (no function)   26 0 0   100%
src / bluetooth_sig / registry / profiles / __init__.py (no function)   4 0 0   100%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry.__init__   2 0 0   100%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry._load_yaml_file   23 5 0   78%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry._load   15 5 0   67%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry.get_permitted_characteristics   4 0 0   100%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry.get_entries   3 0 0   100%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py PermittedCharacteristicsRegistry.get_all_profiles   3 0 0   100%
src / bluetooth_sig / registry / profiles / permitted_characteristics.py (no function)   16 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry.__init__   2 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._extract_int_value   12 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._extract_name   5 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._build_metadata   7 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._load_yaml_file   39 5 0   87%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._is_deferred   1 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._is_permitted_characteristics   1 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry._load   13 4 0   69%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry.get_entries   3 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry.get_all_table_keys   3 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py ProfileLookupRegistry.resolve_name   6 0 0   100%
src / bluetooth_sig / registry / profiles / profile_lookup.py (no function)   28 0 0   100%
src / bluetooth_sig / registry / service_discovery / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry.__init__   3 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry._parse_hex_value   8 6 0   25%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry._load_attribute_ids_file   20 4 0   80%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry._load_protocol_parameters   18 4 0   78%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry._load   17 4 0   76%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry.get_attribute_ids   3 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry.get_all_categories   3 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry.get_protocol_parameters   3 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py ServiceDiscoveryAttributeRegistry.resolve_attribute_name   6 0 0   100%
src / bluetooth_sig / registry / service_discovery / attribute_ids.py (no function)   19 0 0   100%
src / bluetooth_sig / registry / utils.py load_yaml_uuids   15 3 0   80%
src / bluetooth_sig / registry / utils.py normalize_uuid_string   1 0 0   100%
src / bluetooth_sig / registry / utils.py find_bluetooth_sig_path   7 3 0   57%
src / bluetooth_sig / registry / utils.py parse_bluetooth_uuid   9 0 0   100%
src / bluetooth_sig / registry / utils.py (no function)   10 0 0   100%
src / bluetooth_sig / registry / uuids / __init__.py (no function)   11 0 0   100%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry.get_browse_group_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry.get_browse_group_info_by_name   5 2 0   60%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry.get_browse_group_info_by_id   5 2 0   60%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry.is_browse_group_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / browse_groups.py BrowseGroupsRegistry.get_all_browse_groups   2 0 0   100%
src / bluetooth_sig / registry / uuids / browse_groups.py (no function)   14 0 0   100%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry.get_declaration_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry.get_declaration_info_by_name   5 2 0   60%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry.get_declaration_info_by_id   5 2 0   60%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry.is_declaration_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / declarations.py DeclarationsRegistry.get_all_declarations   2 0 0   100%
src / bluetooth_sig / registry / uuids / declarations.py (no function)   14 0 0   100%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry.get_member_name   2 0 0   100%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry.is_member_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry.get_all_members   2 0 0   100%
src / bluetooth_sig / registry / uuids / members.py MembersRegistry.get_member_info_by_name   5 2 0   60%
src / bluetooth_sig / registry / uuids / members.py (no function)   13 0 0   100%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry.get_mesh_profile_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry.get_mesh_profile_info_by_name   5 2 0   60%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry.is_mesh_profile_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / mesh_profiles.py MeshProfilesRegistry.get_all_mesh_profiles   2 0 0   100%
src / bluetooth_sig / registry / uuids / mesh_profiles.py (no function)   13 0 0   100%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry.get_object_type_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry.get_object_type_info_by_name   5 2 0   60%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry.get_object_type_info_by_id   5 2 0   60%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry.is_object_type_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / object_types.py ObjectTypesRegistry.get_all_object_types   2 0 0   100%
src / bluetooth_sig / registry / uuids / object_types.py (no function)   14 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry.get_protocol_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry.get_protocol_info_by_name   1 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry.is_known_protocol   2 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py ProtocolIdentifiersRegistry.get_all_protocols   2 0 0   100%
src / bluetooth_sig / registry / uuids / protocol_identifiers.py (no function)   14 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry._normalize_name_for_id   3 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry._create_info_from_yaml   2 2 0   0%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry.get_sdo_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry.get_sdo_info_by_name   1 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry.get_sdo_info_by_id   1 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry.is_sdo_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py SdoUuidsRegistry.get_all_sdo_uuids   2 0 0   100%
src / bluetooth_sig / registry / uuids / sdo_uuids.py (no function)   16 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry._create_info_from_yaml   1 1 0   0%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry._create_runtime_info   1 1 0   0%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry.get_service_class_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry.get_service_class_info_by_name   1 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry.get_service_class_info_by_id   1 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry.is_service_class_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py ServiceClassesRegistry.get_all_service_classes   3 0 0   100%
src / bluetooth_sig / registry / uuids / service_classes.py (no function)   14 0 0   100%
src / bluetooth_sig / registry / uuids / units.py _derive_symbol_from_name   12 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry._load_yaml_path   1 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry._create_info_from_yaml   2 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry._create_runtime_info   2 2 0   0%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry.get_unit_info   1 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry.get_unit_info_by_name   1 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry.get_unit_info_by_id   1 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry.is_unit_uuid   1 0 0   100%
src / bluetooth_sig / registry / uuids / units.py UnitsRegistry.get_all_units   3 0 0   100%
src / bluetooth_sig / registry / uuids / units.py resolve_unit_symbol   3 3 0   0%
src / bluetooth_sig / registry / uuids / units.py (no function)   19 0 0   100%
src / bluetooth_sig / stream / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer.__init__   10 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer.ingest   14 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer.stats   1 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer._evict_stale   9 0 0   100%
src / bluetooth_sig / stream / pairing.py (no function)   15 0 0   100%
src / bluetooth_sig / types / __init__.py (no function)   22 0 0   100%
src / bluetooth_sig / types / ad_types_constants.py (no function)   52 0 0   100%
src / bluetooth_sig / types / address.py mac_address_to_bytes   9 0 0   100%
src / bluetooth_sig / types / address.py bytes_to_mac_address   4 2 0   50%
src / bluetooth_sig / types / address.py (no function)   5 0 0   100%
src / bluetooth_sig / types / advertising / __init__.py (no function)   11 0 0   100%
src / bluetooth_sig / types / advertising / ad_structures.py ConnectionIntervalRange.min_interval_ms   1 1 0   0%
src / bluetooth_sig / types / advertising / ad_structures.py ConnectionIntervalRange.max_interval_ms   1 1 0   0%
src / bluetooth_sig / types / advertising / ad_structures.py AdvertisingDataStructures.from_common_fields   4 4 0   0%
src / bluetooth_sig / types / advertising / ad_structures.py (no function)   83 0 0   100%
src / bluetooth_sig / types / advertising / builder.py ADStructure.to_bytes   4 0 0   100%
src / bluetooth_sig / types / advertising / builder.py ADStructure.__len__   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder._add_structure   2 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_flags   2 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_complete_local_name   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_shortened_local_name   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_tx_power   2 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_service_uuids   20 1 0   95%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_manufacturer_data   3 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_manufacturer_data_struct   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_service_data   9 9 0   0%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_appearance   2 2 0   0%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.with_raw_structure   1 1 0   0%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.current_size   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.remaining_space   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py AdvertisementBuilder.build   4 0 0   100%
src / bluetooth_sig / types / advertising / builder.py encode_manufacturer_data   1 0 0   100%
src / bluetooth_sig / types / advertising / builder.py encode_service_uuids_16bit   10 1 0   90%
src / bluetooth_sig / types / advertising / builder.py encode_service_uuids_128bit   5 0 0   100%
src / bluetooth_sig / types / advertising / builder.py (no function)   38 0 0   100%
src / bluetooth_sig / types / advertising / channel_map_update.py ChannelMapUpdateIndication.decode   3 0 0   100%
src / bluetooth_sig / types / advertising / channel_map_update.py ChannelMapUpdateIndication.is_channel_used   6 0 0   100%
src / bluetooth_sig / types / advertising / channel_map_update.py (no function)   13 0 0   100%
src / bluetooth_sig / types / advertising / extended.py (no function)   32 0 0   100%
src / bluetooth_sig / types / advertising / features.py LEFeatures._get_features_int   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures._has_feature   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_encryption   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.connection_parameters_request   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.extended_reject_indication   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.peripheral_initiated_features_exchange   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_ping   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_data_packet_length_extension   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.ll_privacy   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.extended_scanner_filter_policies   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_2m_phy   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.stable_modulation_index_tx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.stable_modulation_index_rx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_coded_phy   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_extended_advertising   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_periodic_advertising   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.channel_selection_algorithm_2   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.le_power_class_1   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.min_number_of_used_channels   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.connection_cte_request   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.connection_cte_response   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.connectionless_cte_tx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.connectionless_cte_rx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.antenna_switching_tx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.antenna_switching_rx   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py LEFeatures.receiving_cte   1 1 0   0%
src / bluetooth_sig / types / advertising / features.py (no function)   80 0 0   100%
src / bluetooth_sig / types / advertising / flags.py (no function)   11 0 0   100%
src / bluetooth_sig / types / advertising / indoor_positioning.py IndoorPositioningData.decode   36 0 0   100%
src / bluetooth_sig / types / advertising / indoor_positioning.py (no function)   28 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py PDUType.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py PDUType.is_legacy_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py PDUHeaderFlags.extract_bits   4 4 0   0%
src / bluetooth_sig / types / advertising / pdu.py PDUHeaderFlags.extract_pdu_type   5 5 0   0%
src / bluetooth_sig / types / advertising / pdu.py PDUHeaderFlags.extract_tx_add   1 1 0   0%
src / bluetooth_sig / types / advertising / pdu.py PDUHeaderFlags.extract_rx_add   1 1 0   0%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_extended_advertiser_address   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_extended_target_address   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_cte_info   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_advertising_data_info   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_auxiliary_pointer   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_sync_info   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_tx_power   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEExtendedHeader.has_additional_controller_data   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEAdvertisingPDU.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEAdvertisingPDU.is_legacy_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py BLEAdvertisingPDU.pdu_name   1 0 0   100%
src / bluetooth_sig / types / advertising / pdu.py (no function)   103 0 0   100%
src / bluetooth_sig / types / advertising / result.py AdvertisingData.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising / result.py AdvertisingData.total_payload_size   6 2 0   67%
src / bluetooth_sig / types / advertising / result.py AdvertisementData.manufacturer_data   1 1 0   0%
src / bluetooth_sig / types / advertising / result.py AdvertisementData.service_data   1 1 0   0%
src / bluetooth_sig / types / advertising / result.py AdvertisementData.local_name   1 1 0   0%
src / bluetooth_sig / types / advertising / result.py AdvertisementData.has_interpretation   1 1 0   0%
src / bluetooth_sig / types / advertising / result.py (no function)   28 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py ThreeDInformationData.association_notification   1 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py ThreeDInformationData.battery_level_reporting   1 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py ThreeDInformationData.send_battery_on_startup   1 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py ThreeDInformationData.factory_test_mode   1 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py ThreeDInformationData.decode   3 0 0   100%
src / bluetooth_sig / types / advertising / three_d_information.py (no function)   23 0 0   100%
src / bluetooth_sig / types / advertising / transport_discovery.py TransportBlock.role   1 0 0   100%
src / bluetooth_sig / types / advertising / transport_discovery.py TransportBlock.is_incomplete   1 0 0   100%
src / bluetooth_sig / types / advertising / transport_discovery.py TransportBlock.transport_state   1 0 0   100%
src / bluetooth_sig / types / advertising / transport_discovery.py TransportDiscoveryData.decode   12 0 0   100%
src / bluetooth_sig / types / advertising / transport_discovery.py (no function)   31 0 0   100%
src / bluetooth_sig / types / alert.py (no function)   44 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.from_category   8 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.category   1 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.subcategory   3 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.full_name   1 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.__int__   1 0 0   100%
src / bluetooth_sig / types / appearance.py AppearanceData.__format__   1 1 0   0%
src / bluetooth_sig / types / appearance.py (no function)   17 0 0   100%
src / bluetooth_sig / types / base_types.py (no function)   7 0 0   100%
src / bluetooth_sig / types / battery.py BatteryChargeState.from_byte   4 4 0   0%
src / bluetooth_sig / types / battery.py BatteryChargeLevel.from_byte   4 4 0   0%
src / bluetooth_sig / types / battery.py BatteryChargingType.from_byte   4 4 0   0%
src / bluetooth_sig / types / battery.py (no function)   38 0 0   100%
src / bluetooth_sig / types / company.py CompanyIdentifier.from_id   4 0 0   100%
src / bluetooth_sig / types / company.py CompanyIdentifier.__str__   1 1 0   0%
src / bluetooth_sig / types / company.py CompanyIdentifier.__repr__   1 1 0   0%
src / bluetooth_sig / types / company.py ManufacturerData.from_bytes   6 0 0   100%
src / bluetooth_sig / types / company.py ManufacturerData.from_id_and_payload   2 0 0   100%
src / bluetooth_sig / types / company.py ManufacturerData.to_bytes   1 1 0   0%
src / bluetooth_sig / types / company.py (no function)   19 0 0   100%
src / bluetooth_sig / types / context.py (no function)   19 0 0   100%
src / bluetooth_sig / types / data_types.py DateData.to_datetime   1 1 0   0%
src / bluetooth_sig / types / data_types.py ValidationAccumulator.__init__   2 0 0   100%
src / bluetooth_sig / types / data_types.py ValidationAccumulator.add_error   1 0 0   100%
src / bluetooth_sig / types / data_types.py ValidationAccumulator.add_warning   1 1 0   0%
src / bluetooth_sig / types / data_types.py ValidationAccumulator.valid   1 0 0   100%
src / bluetooth_sig / types / data_types.py (no function)   31 0 0   100%
src / bluetooth_sig / types / device_types.py ScanFilter._passes_address_filter   4 4 0   0%
src / bluetooth_sig / types / device_types.py ScanFilter._passes_name_filter   7 7 0   0%
src / bluetooth_sig / types / device_types.py ScanFilter._passes_rssi_filter   5 5 0   0%
src / bluetooth_sig / types / device_types.py ScanFilter._passes_service_uuid_filter   9 9 0   0%
src / bluetooth_sig / types / device_types.py ScanFilter.matches   10 10 0   0%
src / bluetooth_sig / types / device_types.py (no function)   41 0 0   100%
src / bluetooth_sig / types / ead.py EncryptedAdvertisingData.from_bytes   4 0 0   100%
src / bluetooth_sig / types / ead.py EADKeyMaterial.__post_init__   6 0 0   100%
src / bluetooth_sig / types / ead.py (no function)   32 0 0   100%
src / bluetooth_sig / types / gatt_enums.py AdjustReason.from_raw   4 0 0   100%
src / bluetooth_sig / types / gatt_enums.py (no function)   559 0 0   100%
src / bluetooth_sig / types / gatt_services.py characteristic   4 4 0   0%
src / bluetooth_sig / types / gatt_services.py (no function)   20 0 0   100%
src / bluetooth_sig / types / io.py to_parse_inputs   8 1 0   88%
src / bluetooth_sig / types / io.py (no function)   11 0 0   100%
src / bluetooth_sig / types / location.py (no function)   7 0 0   100%
src / bluetooth_sig / types / mesh.py MeshCapabilities.encode   1 1 0   0%
src / bluetooth_sig / types / mesh.py SecureNetworkBeacon.encode   10 10 0   0%
src / bluetooth_sig / types / mesh.py SecureNetworkBeacon.decode   9 9 0   0%
src / bluetooth_sig / types / mesh.py UnprovisionedDeviceBeacon.encode   7 7 0   0%
src / bluetooth_sig / types / mesh.py UnprovisionedDeviceBeacon.decode   7 7 0   0%
src / bluetooth_sig / types / mesh.py MeshMessage.decode   14 14 0   0%
src / bluetooth_sig / types / mesh.py ProvisioningBearerData.decode   11 11 0   0%
src / bluetooth_sig / types / mesh.py (no function)   88 0 0   100%
src / bluetooth_sig / types / peripheral_types.py CharacteristicDefinition.from_characteristic   6 0 0   100%
src / bluetooth_sig / types / peripheral_types.py (no function)   34 0 0   100%
src / bluetooth_sig / types / protocols.py CharacteristicProtocol._decode_value   0 0 1   100%
src / bluetooth_sig / types / protocols.py CharacteristicProtocol.parse_value   0 0 1   100%
src / bluetooth_sig / types / protocols.py CharacteristicProtocol.build_value   0 0 1   100%
src / bluetooth_sig / types / protocols.py CharacteristicProtocol._encode_value   0 0 1   100%
src / bluetooth_sig / types / protocols.py (no function)   7 0 0   100%
src / bluetooth_sig / types / registry / __init__.py (no function)   5 0 0   100%
src / bluetooth_sig / types / registry / ad_types.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / amp.py (no function)   6 6 0   0%
src / bluetooth_sig / types / registry / appearance_info.py AppearanceInfo.full_name   3 0 0   100%
src / bluetooth_sig / types / registry / appearance_info.py (no function)   11 0 0   100%
src / bluetooth_sig / types / registry / browse_group_identifiers.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / characteristic_uuids.py (no function)   5 5 0   0%
src / bluetooth_sig / types / registry / class_of_device.py ClassOfDeviceInfo.full_description   6 0 0   100%
src / bluetooth_sig / types / registry / class_of_device.py (no function)   19 0 0   100%
src / bluetooth_sig / types / registry / coding_format.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.data_type   1 0 0   100%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.field_size   1 0 0   100%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.unit_id   1 0 0   100%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.unit_symbol   1 0 0   100%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.unit_name   1 1 0   0%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.base_unit   1 1 0   0%
src / bluetooth_sig / types / registry / common.py CharacteristicSpec.resolution_text   1 0 0   100%
src / bluetooth_sig / types / registry / common.py generate_basic_aliases   8 0 0   100%
src / bluetooth_sig / types / registry / common.py ValueNameInfo.bit   1 0 0   100%
src / bluetooth_sig / types / registry / common.py NameValueInfo.psm   1 1 0   0%
src / bluetooth_sig / types / registry / common.py (no function)   65 0 1   100%
src / bluetooth_sig / types / registry / company_identifiers.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / core_version.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / declarations.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / descriptor_types.py DescriptorData.name   1 1 0   0%
src / bluetooth_sig / types / registry / descriptor_types.py DescriptorData.uuid   1 1 0   0%
src / bluetooth_sig / types / registry / descriptor_types.py (no function)   18 0 0   100%
src / bluetooth_sig / types / registry / descriptors.py (no function)   5 5 0   0%
src / bluetooth_sig / types / registry / diacs.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / dp_property.py (no function)   10 10 0   0%
src / bluetooth_sig / types / registry / dp_property_groups.py (no function)   12 12 0   0%
src / bluetooth_sig / types / registry / dp_property_ids.py (no function)   10 10 0   0%
src / bluetooth_sig / types / registry / formattypes.py (no function)   8 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py _compute_python_name   6 6 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py _compute_unit_id   5 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py _resolve_field_unit_symbol   5 5 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.python_name   1 1 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.is_optional   1 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.fixed_size   9 1 0   89%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.unit_id   1 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.unit_symbol   1 1 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.resolution   6 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.value_range   14 2 0   86%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.special_values   19 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.presence_condition   7 7 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py FieldSpec.presence_flag_bit   4 4 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py GssCharacteristicSpec.get_field   5 5 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py GssCharacteristicSpec.primary_field   4 0 0   100%
src / bluetooth_sig / types / registry / gss_characteristic.py GssCharacteristicSpec.has_multiple_units   5 5 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py GssCharacteristicSpec.field_count   1 1 0   0%
src / bluetooth_sig / types / registry / gss_characteristic.py (no function)   52 0 0   100%
src / bluetooth_sig / types / registry / member_uuids.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / mesh_profile_uuids.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / mws_channel_type.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / namespace.py (no function)   6 0 0   100%
src / bluetooth_sig / types / registry / namespaces.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / object_types.py (no function)   4 0 0   100%
src / bluetooth_sig / types / registry / pcm_data_format.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / profile_types.py (no function)   16 0 0   100%
src / bluetooth_sig / types / registry / protocol_identifiers.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / psm.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / sdo_uuids.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / sdp_base_uuid.py (no function)   5 5 0   0%
src / bluetooth_sig / types / registry / service_class.py (no function)   3 0 0   100%
src / bluetooth_sig / types / registry / service_uuids.py (no function)   5 5 0   0%
src / bluetooth_sig / types / registry / transport_layers.py (no function)   3 3 0   0%
src / bluetooth_sig / types / registry / units.py UnitInfo.readable_name   6 0 0   100%
src / bluetooth_sig / types / registry / units.py (no function)   6 0 0   100%
src / bluetooth_sig / types / registry / uri_schemes.py (no function)   3 0 0   100%
src / bluetooth_sig / types / scan_interval_window.py ScanIntervalWindowData.__post_init__   6 0 0   100%
src / bluetooth_sig / types / scan_interval_window.py ScanIntervalWindowData.scan_interval_ms   1 0 0   100%
src / bluetooth_sig / types / scan_interval_window.py ScanIntervalWindowData.scan_window_ms   1 0 0   100%
src / bluetooth_sig / types / scan_interval_window.py (no function)   16 0 0   100%
src / bluetooth_sig / types / special_values.py SpecialValueRule.to_result   1 0 0   100%
src / bluetooth_sig / types / special_values.py SpecialValueResult.effective_value   3 3 0   0%
src / bluetooth_sig / types / special_values.py (no function)   17 0 0   100%
src / bluetooth_sig / types / units.py classify_special_value   12 0 0   100%
src / bluetooth_sig / types / units.py (no function)   50 0 0   100%
src / bluetooth_sig / types / uri.py URIData.scheme_name   1 0 0   100%
src / bluetooth_sig / types / uri.py URIData.is_known_scheme   1 0 0   100%
src / bluetooth_sig / types / uri.py URIData.from_raw_data   11 0 0   100%
src / bluetooth_sig / types / uri.py URIData.from_plain_uri   1 0 0   100%
src / bluetooth_sig / types / uri.py (no function)   21 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__init__   8 3 0   62%
src / bluetooth_sig / types / uuid.py BluetoothUUID._normalize_uuid   14 2 0   86%
src / bluetooth_sig / types / uuid.py BluetoothUUID._normalize_uuid_from_int   12 2 0   83%
src / bluetooth_sig / types / uuid.py BluetoothUUID._is_valid_normalized_uuid   2 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.normalized   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.is_short   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.is_full   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.short_form   5 2 0   60%
src / bluetooth_sig / types / uuid.py BluetoothUUID.full_form   5 3 0   40%
src / bluetooth_sig / types / uuid.py BluetoothUUID.dashed_form   2 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.int_value   1 1 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.to_bytes   2 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.matches   3 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__str__   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__repr__   1 1 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__eq__   3 1 0   67%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__hash__   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__lt__   3 3 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__le__   1 1 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__gt__   3 3 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__ge__   1 1 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.__len__   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.is_valid_for_custom_characteristic   1 1 0   0%
src / bluetooth_sig / types / uuid.py BluetoothUUID.is_sig_characteristic   11 3 0   73%
src / bluetooth_sig / types / uuid.py BluetoothUUID.is_sig_service   11 4 0   64%
src / bluetooth_sig / types / uuid.py (no function)   55 0 0   100%
src / bluetooth_sig / utils / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / utils / prewarm.py prewarm_registries   8 0 0   100%
src / bluetooth_sig / utils / prewarm.py (no function)   10 0 0   100%
src / bluetooth_sig / utils / profiling.py TimingResult.__str__   1 0 0   100%
src / bluetooth_sig / utils / profiling.py ProfilingSession.add_result   1 0 0   100%
src / bluetooth_sig / utils / profiling.py ProfilingSession.__str__   5 0 0   100%
src / bluetooth_sig / utils / profiling.py timer   5 0 0   100%
src / bluetooth_sig / utils / profiling.py benchmark_function   14 0 0   100%
src / bluetooth_sig / utils / profiling.py compare_implementations   4 0 0   100%
src / bluetooth_sig / utils / profiling.py format_comparison   19 0 0   100%
src / bluetooth_sig / utils / profiling.py (no function)   26 0 0   100%
src / bluetooth_sig / utils / rssi_utils.py get_rssi_quality   11 11 0   0%
src / bluetooth_sig / utils / rssi_utils.py (no function)   7 0 0   100%
src / bluetooth_sig / utils / values.py is_struct_value   1 0 0   100%
src / bluetooth_sig / utils / values.py to_primitive   13 0 0   100%
src / bluetooth_sig / utils / values.py (no function)   6 0 0   100%
Total     20836 2487 258   88%

No items found using the specified filter.