




"""simple docstring"""







import unittest

from datasets import load_dataset

from transformers.pipelines import pipeline
from transformers.testing_utils import is_pipeline_test, nested_simplify, require_torch, slow




@is_pipeline_test
@require_torch
class       lowerCAmelCase__       (			unittest.TestCase    ):


				"""simple docstring"""





				@require_torch
				def       snake_case    (     self					:	Dict						):
						__lowercase				:		Any												=				pipeline(
						    task="zero-shot-audio-classification"    ,   model="hf-internal-testing/tiny-clap-htsat-unfused"						)
						__lowercase				:		Optional[int]												=				load_dataset("ashraq/esc50"						)
						__lowercase				:		Optional[int]												=				dataset["train"]["audio"][-1]["array"]
						__lowercase				:		int												=				audio_classifier(lowercase__    ,   candidate_labels=["Sound of a dog", "Sound of vaccum cleaner"]						)
						self.assertEqual(
						    nested_simplify(lowercase__						)    ,   [{"score": 0.5_0_1, "label": "Sound of a dog"}, {"score": 0.4_9_9, "label": "Sound of vaccum cleaner"}]    ,   )



				@unittest.skip("No models are available in TF"						)
				def       snake_case    (     self					:	int						):
						pass



				@slow
				@require_torch
				def       snake_case    (     self					:	int						):
						__lowercase				:		List[str]												=				pipeline(
						    task="zero-shot-audio-classification"    ,   model="laion/clap-htsat-unfused"    ,   )
						# This is an audio of a dog
						__lowercase				:		int												=				load_dataset("ashraq/esc50"						)
						__lowercase				:		str												=				dataset["train"]["audio"][-1]["array"]
						__lowercase				:		List[Any]												=				audio_classifier(lowercase__    ,   candidate_labels=["Sound of a dog", "Sound of vaccum cleaner"]						)

						self.assertEqual(
						    nested_simplify(lowercase__						)    ,   [
						        {"score": 0.9_9_9, "label": "Sound of a dog"},
						        {"score": 0.0_0_1, "label": "Sound of vaccum cleaner"},
						    ]    ,   )

						__lowercase				:		Optional[Any]												=				audio_classifier([audio] * 5    ,   candidate_labels=["Sound of a dog", "Sound of vaccum cleaner"]						)
						self.assertEqual(
						    nested_simplify(lowercase__						)    ,   [
						        [
						            {"score": 0.9_9_9, "label": "Sound of a dog"},
						            {"score": 0.0_0_1, "label": "Sound of vaccum cleaner"},
						        ],
						    ]
						    * 5    ,   )
						__lowercase				:		int												=				audio_classifier(
						    [audio] * 5    ,   candidate_labels=["Sound of a dog", "Sound of vaccum cleaner"]    ,   batch_size=5						)
						self.assertEqual(
						    nested_simplify(lowercase__						)    ,   [
						        [
						            {"score": 0.9_9_9, "label": "Sound of a dog"},
						            {"score": 0.0_0_1, "label": "Sound of vaccum cleaner"},
						        ],
						    ]
						    * 5    ,   )



				@unittest.skip("No models are available in TF"						)
				def       snake_case    (     self					:	Optional[int]						):
						pass







"""simple docstring"""







def 						snake_case__       (					_lowerCamelCase				)			->int:






		"""simple docstring"""


		if a < 0:
				raise ValueError("Input value must be a positive integer"				)
		elif isinstance(_lowerCamelCase,  _lowerCamelCase				):
				raise TypeError("Input value must be a 'int' type"				)
		return bin(_lowerCamelCase				).count("1"				)


if __name__ == "__main__":
						import doctest

						doctest.testmod()
