Coverage report: 86%

Files Functions Classes

coverage.py v7.13.1, created at 2026-01-11 20:14 +0000

File function   statements missing excluded   coverage
src / bluetooth_sig / __init__.py (no function)   14 3 0   79%
src / bluetooth_sig / _version.py (no function)   13 0 5   100%
src / bluetooth_sig / advertising / __init__.py (no function)   8 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.__init__   3 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.mac_address   1 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.bindkey   1 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.bindkey   1 1 0   0%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.state   1 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.info   1 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.__init_subclass__   7 2 0   71%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.supports   0 0 0   100%
src / bluetooth_sig / advertising / base.py AdvertisingDataInterpreter.interpret   0 0 0   100%
src / bluetooth_sig / advertising / base.py (no function)   36 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   25 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)   20 0 5   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_extended_header   47 47 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_auxiliary_packets   3 3 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_128bit_uuids   5 5 0   0%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_manufacturer_data   5 0 0   100%
src / bluetooth_sig / advertising / pdu_parser.py AdvertisingPDUParser._parse_ad_structures   108 42 0   61%
src / bluetooth_sig / advertising / pdu_parser.py (no function)   29 0 0   100%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.__init__   3 0 0   100%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.register   17 10 0   41%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.unregister   12 12 0   0%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.find_interpreter_class   13 3 0   77%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.find_all_interpreter_classes   10 3 0   70%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.get_registered_interpreters   7 7 0   0%
src / bluetooth_sig / advertising / registry.py AdvertisingInterpreterRegistry.clear   3 3 0   0%
src / bluetooth_sig / advertising / registry.py (no function)   15 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 5 0   64%
src / bluetooth_sig / core / async_context.py (no function)   14 0 11   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__   4 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   29 14 0   52%
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   37 16 0   57%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._get_characteristic_value_type_class   39 16 0   59%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_value_type   2 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.supports   6 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_info_by_uuid   12 2 0   83%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_uuid_by_name   2 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_uuid_by_name   3 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristic_info_by_name   11 4 0   64%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_info_by_name   7 2 0   71%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_info_by_uuid   11 3 0   73%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.list_supported_characteristics   7 2 0   71%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.list_supported_services   9 2 0   78%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.process_services   15 14 0   7%
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.get_sig_info_by_name   16 5 0   69%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_sig_info_by_uuid   7 1 0   86%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristics   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._parse_characteristics_batch   20 2 0   90%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._prepare_characteristic_dependencies   17 1 0   94%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._resolve_dependency_order   13 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._find_missing_required_dependencies   13 1 0   92%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._log_optional_dependency_gaps   9 1 0   89%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator._build_parse_context   3 1 0   67%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_characteristics_info_by_uuids   4 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.validate_characteristic_data   17 4 0   76%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.get_service_characteristics   9 2 0   78%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.register_custom_characteristic_class   3 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.register_custom_service_class   3 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 1 0   75%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.parse_characteristics_async   1 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.encode_characteristic_async   2 0 0   100%
src / bluetooth_sig / core / translator.py BluetoothSIGTranslator.create_value   22 7 0   68%
src / bluetooth_sig / core / translator.py (no function)   66 0 40   100%
src / bluetooth_sig / device / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.__init__   1 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.address   1 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.connect   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.disconnect   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.read_gatt_char   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.write_gatt_char   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.read_gatt_descriptor   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.write_gatt_descriptor   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.get_services   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.start_notify   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.stop_notify   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.pair   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.unpair   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.read_rssi   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.get_advertisement_rssi   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.set_disconnected_callback   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.is_connected   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.mtu_size   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.name   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.scan   1 1 0   0%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.find_device   1 1 0   0%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.scan_stream   1 1 0   0%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.get_latest_advertisement   0 0 0   100%
src / bluetooth_sig / device / connection.py ConnectionManagerProtocol.convert_advertisement   0 0 0   100%
src / bluetooth_sig / device / connection.py (no function)   61 0 2   100%
src / bluetooth_sig / device / device.py SIGTranslatorProtocol.parse_characteristics   0 0 0   100%
src / bluetooth_sig / device / device.py SIGTranslatorProtocol.parse_characteristic   0 0 0   100%
src / bluetooth_sig / device / device.py SIGTranslatorProtocol.get_characteristic_uuid_by_name   0 0 0   100%
src / bluetooth_sig / device / device.py SIGTranslatorProtocol.get_service_uuid_by_name   0 0 0   100%
src / bluetooth_sig / device / device.py SIGTranslatorProtocol.get_characteristic_info_by_name   0 0 0   100%
src / bluetooth_sig / device / device.py Device.__init__   11 0 0   100%
src / bluetooth_sig / device / device.py Device.__str__   3 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   3 1 0   67%
src / bluetooth_sig / device / device.py Device.disconnect   3 1 0   67%
src / bluetooth_sig / device / device.py Device._get_cached_characteristic   5 5 0   0%
src / bluetooth_sig / device / device.py Device._cache_characteristic   6 6 0   0%
src / bluetooth_sig / device / device.py Device._create_unknown_characteristic   3 3 0   0%
src / bluetooth_sig / device / device.py Device._resolve_single_dependency   18 18 0   0%
src / bluetooth_sig / device / device.py Device._ensure_dependencies_resolved   25 18 0   28%
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   19 9 0   53%
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   12 7 0   42%
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   11 6 0   45%
src / bluetooth_sig / device / device.py Device.start_notify._typed_cb   5 5 0   0%
src / bluetooth_sig / device / device.py Device.start_notify._internal_cb   5 0 0   100%
src / bluetooth_sig / device / device.py Device._resolve_characteristic_name   10 5 0   50%
src / bluetooth_sig / device / device.py Device.stop_notify   4 4 0   0%
src / bluetooth_sig / device / device.py Device.read_descriptor   10 3 0   70%
src / bluetooth_sig / device / device.py Device.write_descriptor   9 2 0   78%
src / bluetooth_sig / device / device.py Device.pair   3 1 0   67%
src / bluetooth_sig / device / device.py Device.unpair   3 1 0   67%
src / bluetooth_sig / device / device.py Device.read_rssi   3 1 0   67%
src / bluetooth_sig / device / device.py Device.set_disconnected_callback   3 1 0   67%
src / bluetooth_sig / device / device.py Device.mtu_size   3 3 0   0%
src / bluetooth_sig / device / device.py Device.set_advertising_bindkey   3 3 0   0%
src / bluetooth_sig / device / device.py Device.refresh_advertisement   7 7 0   0%
src / bluetooth_sig / device / device.py Device._process_advertisement   5 5 0   0%
src / bluetooth_sig / device / device.py Device._interpret_advertisement   11 6 0   45%
src / bluetooth_sig / device / device.py Device.parse_raw_advertisement   6 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   8 1 0   88%
src / bluetooth_sig / device / device.py Device.get_characteristic_info   8 4 0   50%
src / bluetooth_sig / device / device.py Device.read_multiple   13 1 0   92%
src / bluetooth_sig / device / device.py Device.write_multiple   13 1 0   92%
src / bluetooth_sig / device / device.py Device.device_info   6 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.interpreted_advertisement   1 1 0   0%
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)   84 0 37   100%
src / bluetooth_sig / gatt / __init__.py (no function)   8 0 0   100%
src / bluetooth_sig / gatt / characteristics / __init__.py (no function)   192 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)   12 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   7 7 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)   16 0 0   100%
src / bluetooth_sig / gatt / characteristics / altitude.py (no function)   10 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)   11 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)   21 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py SIGCharacteristicResolver.resolve_for_class   7 4 0   43%
src / bluetooth_sig / gatt / characteristics / base.py SIGCharacteristicResolver.resolve_yaml_spec_for_class   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py SIGCharacteristicResolver._create_info_from_yaml   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py SIGCharacteristicResolver.resolve_from_registry   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py CharacteristicMeta.__new__   9 1 0   89%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.__init__   27 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.__post_init__   28 2 0   93%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._infer_value_type_from_patterns   13 1 0   92%
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.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   10 10 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._validate_range   38 9 0   76%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._validate_type   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._validate_length   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._extract_raw_int   20 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._pack_raw_int   10 10 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._get_dependency_from_context   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._get_characteristic_uuid_by_name   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_context_characteristic   18 2 0   89%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._check_special_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._is_parse_trace_enabled   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._perform_parse_validation   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._extract_and_check_special_value   11 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic._decode_and_validate_value   19 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.parse_value   27 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   45 7 0   84%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.encode_special   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.encode_special_by_meaning   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.unit   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.size   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.value_type_resolved   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   6 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.add_descriptor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_descriptor   7 2 0   71%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_descriptors   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_cccd   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.can_notify   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_descriptor_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_valid_range_from_context   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_presentation_format_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.get_user_description_from_context   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.validate_value_against_descriptor_range   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / base.py BaseCharacteristic.enhance_error_message_with_descriptors   1 1 0   0%
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)   157 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_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 / 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)   43 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_feature.py BloodPressureFeatureCharacteristic._decode_value   10 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)   29 0 0   100%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py BloodPressureData.__post_init__   8 2 0   75%
src / bluetooth_sig / gatt / characteristics / blood_pressure_measurement.py BloodPressureMeasurementCharacteristic._decode_value   9 1 0   89%
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 / 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   4 1 0   75%
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__   30 10 0   67%
src / bluetooth_sig / gatt / characteristics / body_composition_measurement.py BodyCompositionMeasurementCharacteristic._decode_value   13 4 0   69%
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   6 1 0   83%
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)   89 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   6 1 0   83%
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)   9 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)   25 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)   17 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)   22 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 / chromaticity_coordinate.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / co2_concentration.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / coefficient.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / correlated_color_temperature.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / count_16.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / count_24.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / csc_feature.py CSCFeatureCharacteristic._decode_value   4 1 0   75%
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)   19 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   24 2 0   92%
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)   30 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)   7 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   5 1 0   80%
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   38 7 0   82%
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   4 1 0   75%
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)   21 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   42 12 0   71%
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)   42 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   27 3 0   89%
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   6 1 0   83%
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)   12 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)   11 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)   14 0 0   100%
src / bluetooth_sig / gatt / characteristics / day_of_week.py (no function)   5 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)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / dew_point.py (no function)   5 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   5 1 0   80%
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)   16 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   5 1 0   80%
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)   16 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   6 1 0   83%
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)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / elevation.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / email_address.py (no function)   6 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)   15 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 / 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 / floor_number.py (no function)   8 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 / 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   10 3 0   70%
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   35 4 0   89%
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)   63 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   21 1 0   95%
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)   125 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 1 0   0%
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   31 4 0   87%
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)   42 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   7 7 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)   21 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)   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / high_resolution_height.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 / 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 / indoor_positioning_configuration.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py IntermediateCuffPressureData.__post_init__   7 3 0   57%
src / bluetooth_sig / gatt / characteristics / intermediate_cuff_pressure.py IntermediateCuffPressureCharacteristic._decode_value   7 1 0   86%
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 / 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   54 8 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)   46 0 0   100%
src / bluetooth_sig / gatt / characteristics / ln_feature.py LNFeatureCharacteristic._decode_value   5 1 0   80%
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)   57 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_east_coordinate.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / local_north_coordinate.py (no function)   10 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   32 7 0   78%
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)   33 0 0   100%
src / bluetooth_sig / gatt / characteristics / location_and_speed.py LocationAndSpeedCharacteristic._decode_value   42 1 0   98%
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 / magnetic_declination.py MagneticDeclinationCharacteristic._encode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_declination.py (no function)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / magnetic_flux_density_2d.py MagneticFluxDensity2DCharacteristic._decode_value   5 1 0   80%
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   6 1 0   83%
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 / 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)   9 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   26 1 0   96%
src / bluetooth_sig / gatt / characteristics / navigation.py NavigationCharacteristic._encode_value   26 7 0   73%
src / bluetooth_sig / gatt / characteristics / navigation.py (no function)   46 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)   15 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 / ozone_concentration.py (no function)   9 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)   15 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 / 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)   18 0 0   100%
src / bluetooth_sig / gatt / characteristics / plx_spot_check_measurement.py PLXSpotCheckMeasurementCharacteristic._decode_value   23 23 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)   55 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm10_concentration.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm1_concentration.py (no function)   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / pm25_concentration.py (no function)   8 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)   20 0 0   100%
src / bluetooth_sig / gatt / characteristics / pollen_concentration.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / position_quality.py PositionQualityCharacteristic._decode_value   34 1 0   97%
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)   35 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.__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)   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)   18 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   27 6 0   78%
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)   32 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   9 1 0   89%
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)   30 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.create_characteristic   8 1 0   88%
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)   51 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 / 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 / rsc_feature.py RSCFeatureCharacteristic._decode_value   4 1 0   75%
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)   23 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   20 1 0   95%
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)   25 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)   13 0 0   100%
src / bluetooth_sig / gatt / characteristics / scan_refresh.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / sedentary_interval_notification.py (no function)   5 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)   13 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 / stride_length.py (no function)   5 0 0   100%
src / bluetooth_sig / gatt / characteristics / sulfur_dioxide_concentration.py (no function)   9 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_new_alert_category.py SupportedNewAlertCategoryCharacteristic._decode_value   4 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   5 1 0   80%
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)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / supported_unread_alert_category.py SupportedUnreadAlertCategoryCharacteristic._decode_value   4 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)   12 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_measurement.py TemperatureMeasurementData.__post_init__   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / temperature_measurement.py TemperatureMeasurementCharacteristic._decode_value   14 1 0   93%
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_type.py (no function)   17 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py CodingTemplate.decode_value   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py CodingTemplate.encode_value   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py CodingTemplate.data_size   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py CodingTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py CodingTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint8Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Uint8Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint8Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint8Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Sint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint8Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Sint8Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint8Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Sint8Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint16Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Uint16Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint16Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint16Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Sint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint16Template.extractor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint16Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint16Template.decode_value   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Sint16Template.encode_value   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint24Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Uint24Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint24Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint24Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint32Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Uint32Template.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Uint32Template.decode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py Uint32Template.encode_value   3 1 0   67%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.__init__   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.decode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.encode_value   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.uint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.uint16   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.uint32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.sint8   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.sint16   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py EnumTemplate.sint32   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.scale_factor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.offset   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.decode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.encode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate._check_range   0 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.from_scale_offset   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledTemplate.from_letter_method   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint16Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint16Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint16Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint16Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint16Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint8Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint8Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint8Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint8Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint8Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint32Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint32Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint24Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledUint24Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint24Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint24Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint24Template._check_range   2 1 0   50%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint32Template.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ScaledSint32Template._check_range   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates.py PercentageTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py PercentageTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PercentageTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PercentageTemplate.decode_value   6 1 0   83%
src / bluetooth_sig / gatt / characteristics / templates.py PercentageTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.__init__   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.extractor   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.decode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TemperatureTemplate.encode_value   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.__init__   7 5 0   29%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.from_letter_method   3 3 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py ConcentrationTemplate.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.translator   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.decode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py PressureTemplate.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py TimeDataTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py TimeDataTemplate.decode_value   15 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py TimeDataTemplate.encode_value   15 1 0   93%
src / bluetooth_sig / gatt / characteristics / templates.py IEEE11073FloatTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py IEEE11073FloatTemplate.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py IEEE11073FloatTemplate.translator   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py IEEE11073FloatTemplate.decode_value   4 1 0   75%
src / bluetooth_sig / gatt / characteristics / templates.py IEEE11073FloatTemplate.encode_value   2 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Float32Template.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Float32Template.extractor   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Float32Template.decode_value   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Float32Template.encode_value   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf8StringTemplate.__init__   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf8StringTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf8StringTemplate.decode_value   10 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf8StringTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf16StringTemplate.__init__   3 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf16StringTemplate.data_size   1 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py Utf16StringTemplate.decode_value   20 1 0   95%
src / bluetooth_sig / gatt / characteristics / templates.py Utf16StringTemplate.encode_value   4 0 0   100%
src / bluetooth_sig / gatt / characteristics / templates.py VectorTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py VectorTemplate.decode_value   6 6 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py VectorTemplate.encode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Vector2DTemplate.data_size   1 1 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Vector2DTemplate.decode_value   5 5 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py Vector2DTemplate.encode_value   4 4 0   0%
src / bluetooth_sig / gatt / characteristics / templates.py (no function)   275 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_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   5 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)   23 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   15 2 0   87%
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)   10 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)   7 0 0   100%
src / bluetooth_sig / gatt / characteristics / unknown.py UnknownCharacteristic.__init__   3 1 0   67%
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)   5 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_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_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)   34 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   8 8 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 1 0   0%
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 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)   107 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   5 1 0   80%
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)   16 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   6 1 0   83%
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)   17 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__   25 10 0   60%
src / bluetooth_sig / gatt / characteristics / weight_measurement.py WeightMeasurementCharacteristic._decode_value   39 2 0   95%
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   4 1 0   75%
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)   49 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)   48 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 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)   33 0 0   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   4 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)   17 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   15 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   4 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   3 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   3 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   4 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   4 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   5 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   5 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)   13 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   3 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   4 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   4 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   5 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   6 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   5 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 SpecialValueDetected.__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   4 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 7 0   0%
src / bluetooth_sig / gatt / services / base.py BaseGattService.matches_uuid   8 3 0   62%
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 10 0   0%
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   6 1 0   83%
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   11 1 0   91%
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__   16 2 0   88%
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   12 1 0   92%
src / bluetooth_sig / gatt / uuid_registry.py UuidRegistry._update_characteristic_with_gss_info   17 2 0   88%
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   28 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)   35 0 0   100%
src / bluetooth_sig / gatt / validation.py ValidationRule.validate   11 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)   49 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._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   10 10 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   21 3 0   86%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.unregister_class   5 0 0   100%
src / bluetooth_sig / registry / base.py BaseUUIDClassRegistry.get_class_by_uuid   8 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)   69 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)   14 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)   2 2 0   0%
src / bluetooth_sig / registry / service_discovery / __init__.py (no function)   2 2 0   0%
src / bluetooth_sig / registry / utils.py load_yaml_uuids   15 3 0   80%
src / bluetooth_sig / registry / utils.py normalize_uuid_string   4 1 0   75%
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)   9 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   4 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 (no function)   17 0 0   100%
src / bluetooth_sig / stream / __init__.py (no function)   3 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer.__init__   5 0 0   100%
src / bluetooth_sig / stream / pairing.py DependencyPairingBuffer.ingest   9 0 0   100%
src / bluetooth_sig / stream / pairing.py (no function)   7 0 0   100%
src / bluetooth_sig / types / __init__.py (no function)   20 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)   4 0 0   100%
src / bluetooth_sig / types / advertising.py PDUType.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising.py PDUType.is_legacy_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising.py PDUHeaderFlags.extract_bits   4 4 0   0%
src / bluetooth_sig / types / advertising.py PDUHeaderFlags.extract_pdu_type   5 5 0   0%
src / bluetooth_sig / types / advertising.py PDUHeaderFlags.extract_tx_add   1 1 0   0%
src / bluetooth_sig / types / advertising.py PDUHeaderFlags.extract_rx_add   1 1 0   0%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_extended_advertiser_address   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_extended_target_address   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_cte_info   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_advertising_data_info   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_auxiliary_pointer   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_sync_info   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_tx_power   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEExtendedHeader.has_additional_controller_data   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEAdvertisingPDU.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEAdvertisingPDU.is_legacy_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising.py BLEAdvertisingPDU.pdu_name   1 0 0   100%
src / bluetooth_sig / types / advertising.py AdvertisingData.is_extended_advertising   1 0 0   100%
src / bluetooth_sig / types / advertising.py AdvertisingData.total_payload_size   6 2 0   67%
src / bluetooth_sig / types / advertising.py AdvertisementData.manufacturer_data   1 1 0   0%
src / bluetooth_sig / types / advertising.py AdvertisementData.service_data   1 1 0   0%
src / bluetooth_sig / types / advertising.py AdvertisementData.local_name   1 1 0   0%
src / bluetooth_sig / types / advertising.py AdvertisementData.has_interpretation   1 1 0   0%
src / bluetooth_sig / types / advertising.py (no function)   196 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 / context.py (no function)   17 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   13 13 0   0%
src / bluetooth_sig / types / device_types.py (no function)   36 0 7   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 DataType.from_string   10 0 0   100%
src / bluetooth_sig / types / gatt_enums.py DataType.to_value_type   2 0 0   100%
src / bluetooth_sig / types / gatt_enums.py DataType.to_python_type   2 0 0   100%
src / bluetooth_sig / types / gatt_enums.py (no function)   588 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 8 0   0%
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 / 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)   4 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.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)   62 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 FieldSpec.python_name   6 6 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   5 0 0   100%
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 5 0   74%
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)   41 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 / 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 (no function)   4 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 5 0   58%
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__   7 2 0   71%
src / bluetooth_sig / types / uuid.py BluetoothUUID._normalize_uuid   12 1 0   92%
src / bluetooth_sig / types / uuid.py BluetoothUUID._normalize_uuid_from_int   9 2 0   78%
src / bluetooth_sig / types / uuid.py BluetoothUUID._is_valid_normalized_uuid   1 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 1 0   80%
src / bluetooth_sig / types / uuid.py BluetoothUUID.full_form   5 1 0   80%
src / bluetooth_sig / types / uuid.py BluetoothUUID.dashed_form   2 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.int_value   1 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.bytes   2 0 0   100%
src / bluetooth_sig / types / uuid.py BluetoothUUID.bytes_le   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 / 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   21 1 0   95%
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)   2 0 0   100%
Total     14941 2068 129   86%

No items found using the specified filter.