





'''simple docstring'''







import unittest
from dataclasses import dataclass
from typing import Optional

from transformers.utils import ModelOutput


@dataclass
class    __a (UpperCamelCase_       ):
	__a   :				float
	__a   :				Optional[float]       =    None
	__a   :				Optional[float]       =    None





class    __a (unittest.TestCase       ):

	def       UpperCAmelCase__		(							self							:       str				)   ->    Optional[Any]:







							"""simple docstring"""
							UpperCAmelCase_     : List[Any]         =					ModelOutputTest(a=30				)
							self.assertEqual(x.a    ,       30				)
							self.assertIsNone(x.b				)
							self.assertIsNone(x.c				)
							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : Any         =					x.d

	def       UpperCAmelCase__		(							self							:       List[Any]				)   ->    str:







							"""simple docstring"""
							UpperCAmelCase_     : Tuple         =					ModelOutputTest(a=30    ,       b=10				)
							self.assertEqual(x[0]    ,       30				)
							self.assertEqual(x[1]    ,       10				)
							self.assertEqual(x[:2]    ,       (30, 10)				)
							self.assertEqual(x[:]    ,       (30, 10)				)

							UpperCAmelCase_     : int         =					ModelOutputTest(a=30    ,       c=10				)
							self.assertEqual(x[0]    ,       30				)
							self.assertEqual(x[1]    ,       10				)
							self.assertEqual(x[:2]    ,       (30, 10)				)
							self.assertEqual(x[:]    ,       (30, 10)				)

	def       UpperCAmelCase__		(							self							:       Tuple				)   ->    Dict:







							"""simple docstring"""
							UpperCAmelCase_     : Optional[Any]         =					ModelOutputTest(a=30    ,       b=10				)
							self.assertEqual(x['''a''']    ,       30				)
							self.assertEqual(x['''b''']    ,       10				)
							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : Union[str, Any]         =					x['c']

							UpperCAmelCase_     : Union[str, Any]         =					ModelOutputTest(a=30    ,       c=10				)
							self.assertEqual(x['''a''']    ,       30				)
							self.assertEqual(x['''c''']    ,       10				)
							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : int         =					x['b']

	def       UpperCAmelCase__		(							self							:       List[str]				)   ->    Union[str, Any]:







							"""simple docstring"""
							UpperCAmelCase_     : Optional[int]         =					ModelOutputTest(a=30				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''']				)
							self.assertEqual(list(x.values()				)    ,       [30]				)
							self.assertEqual(list(x.items()				)    ,       [('''a''', 30)]				)
							self.assertEqual(list(lowercase_				)    ,       ['''a''']				)

							UpperCAmelCase_     : List[Any]         =					ModelOutputTest(a=30    ,       b=10				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''', '''b''']				)
							self.assertEqual(list(x.values()				)    ,       [30, 10]				)
							self.assertEqual(list(x.items()				)    ,       [('''a''', 30), ('''b''', 10)]				)
							self.assertEqual(list(lowercase_				)    ,       ['''a''', '''b''']				)

							UpperCAmelCase_     : Optional[Any]         =					ModelOutputTest(a=30    ,       c=10				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''', '''c''']				)
							self.assertEqual(list(x.values()				)    ,       [30, 10]				)
							self.assertEqual(list(x.items()				)    ,       [('''a''', 30), ('''c''', 10)]				)
							self.assertEqual(list(lowercase_				)    ,       ['''a''', '''c''']				)

							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : List[str]         =					x.update({'''d''': 20}				)
							with self.assertRaises(lowercase_				):
													del x["a"]
							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : Tuple         =					x.pop('''a'''				)
							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : Optional[int]         =					x.setdefault('''d'''    ,       32				)

	def       UpperCAmelCase__		(							self							:       Dict				)   ->    Dict:







							"""simple docstring"""
							UpperCAmelCase_     : Union[str, Any]         =					ModelOutputTest(a=30				)
							UpperCAmelCase_     : List[str]         =					10
							self.assertEqual(x.a    ,       10				)
							self.assertEqual(x['''a''']    ,       10				)

	def       UpperCAmelCase__		(							self							:       List[str]				)   ->    int:







							"""simple docstring"""
							UpperCAmelCase_     : List[str]         =					ModelOutputTest(a=30				)
							UpperCAmelCase_     : Union[str, Any]         =					10
							self.assertEqual(x.a    ,       10				)
							self.assertEqual(x['''a''']    ,       10				)

	def       UpperCAmelCase__		(							self							:       Union[str, Any]				)   ->    Optional[int]:







							"""simple docstring"""
							UpperCAmelCase_     : Optional[Any]         =					ModelOutputTest({'''a''': 30, '''b''': 10}				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''', '''b''']				)
							self.assertEqual(x.a    ,       30				)
							self.assertEqual(x.b    ,       10				)



	def       UpperCAmelCase__		(							self							:       Any				)   ->    Optional[int]:







							"""simple docstring"""
							UpperCAmelCase_     : List[Any]         =					ModelOutputTest([('''a''', 30), ('''b''', 10)]				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''', '''b''']				)
							self.assertEqual(x.a    ,       30				)
							self.assertEqual(x.b    ,       10				)

							with self.assertRaises(lowercase_				):
													UpperCAmelCase_     : Optional[Any]         =					ModelOutputTest([('''a''', 30), (10, 10)]				)

							UpperCAmelCase_     : Tuple         =					ModelOutputTest(a=(30, 30)				)
							self.assertEqual(list(x.keys()				)    ,       ['''a''']				)
							self.assertEqual(x.a    ,       (30, 30)				)












'''simple docstring'''







# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
    is_vision_available,
)


snake_case_       :    List[Any]          =					{
    "configuration_tvlt": ["TVLT_PRETRAINED_CONFIG_ARCHIVE_MAP", "TvltConfig"],
    "feature_extraction_tvlt": ["TvltFeatureExtractor"],
    "processing_tvlt": ["TvltProcessor"],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					snake_case_       :    Optional[int]          =					[
					    "TVLT_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "TvltModel",
					    "TvltForPreTraining",
					    "TvltForAudioVisualClassification",
					    "TvltPreTrainedModel",
					]

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					snake_case_       :    List[Any]          =					["TvltImageProcessor"]


if TYPE_CHECKING:
					from .configuration_tvlt import TVLT_PRETRAINED_CONFIG_ARCHIVE_MAP, TvltConfig
					from .processing_tvlt import TvltProcessor
					from .feature_extraction_tvlt import TvltFeatureExtractor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tvlt import (
										    TVLT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TvltForAudioVisualClassification,
										    TvltForPreTraining,
										    TvltModel,
										    TvltPreTrainedModel,
										)

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .image_processing_tvlt import TvltImageProcessor


else:
					import sys

					snake_case_       :    Any          =					_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





