1+ import  pytest 
2+ from  pathlib  import  Path 
3+ from  unittest .mock  import  patch , MagicMock 
4+ from  transformers  import  PreTrainedTokenizerBase 
5+ 
6+ from  guidellm .utils .hf_transformers  import  check_load_processor 
7+ 
8+ class  DummyTokenizer (PreTrainedTokenizerBase ):
9+     def  __init__ (self ):
10+         pass 
11+ 
12+ @patch ("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained" , return_value = DummyTokenizer ()) 
13+ def  test_check_load_processor_with_tokenizer_instance (mock_from_pretrained ):
14+     tokenizer  =  DummyTokenizer ()
15+     result  =  check_load_processor (tokenizer , None , "test" )
16+     assert  isinstance (result , PreTrainedTokenizerBase )
17+ 
18+ @patch ("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained" , return_value = DummyTokenizer ()) 
19+ def  test_check_load_processor_with_tokenizer_name (mock_from_pretrained ):
20+     result  =  check_load_processor ("bert-base-uncased" , None , "test" )
21+     assert  isinstance (result , PreTrainedTokenizerBase )
22+ 
23+ @patch ("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained" , return_value = DummyTokenizer ()) 
24+ def  test_check_load_processor_with_tokenizer_path (mock_from_pretrained , tmp_path ):
25+     result  =  check_load_processor (tmp_path , None , "test" )
26+     assert  isinstance (result , PreTrainedTokenizerBase )
27+ 
28+ def  test_check_load_processor_none_raises ():
29+     with  pytest .raises (ValueError , match = "Processor/Tokenizer is required" ):
30+         check_load_processor (None , None , "test" )
31+ 
32+ def  test_check_load_processor_invalid_type_raises ():
33+     with  pytest .raises (ValueError , match = "Invalid processor/Tokenizer" ):
34+         check_load_processor (123 , None , "test" )
0 commit comments