@@ -175,10 +175,10 @@ class NestedOptionalTypesTap(Tap):
175
175
tuple_bool : Optional [Tuple [bool ]]
176
176
tuple_int : Optional [Tuple [int ]]
177
177
tuple_str : Optional [Tuple [str ]]
178
- # tuple_pair: Optional[Tuple[bool, str, int]]
179
- # tuple_arbitrary_len_bool: Optional[Tuple[bool, ...]]
180
- # tuple_arbitrary_len_int: Optional[Tuple[int, ...]]
181
- # tuple_arbitrary_len_str: Optional[Tuple[str, ...]]
178
+ tuple_pair : Optional [Tuple [bool , str , int ]]
179
+ tuple_arbitrary_len_bool : Optional [Tuple [bool , ...]]
180
+ tuple_arbitrary_len_int : Optional [Tuple [int , ...]]
181
+ tuple_arbitrary_len_str : Optional [Tuple [str , ...]]
182
182
183
183
184
184
class NestedOptionalTypeTests (TestCase ):
@@ -208,10 +208,10 @@ def test_nested_optional_types(self):
208
208
'--tuple_bool' , * stringify (tuple_bool ),
209
209
'--tuple_int' , * stringify (tuple_int ),
210
210
'--tuple_str' , * stringify (tuple_str ),
211
- # '--tuple_pair', *stringify(tuple_pair),
212
- # '--tuple_arbitrary_len_bool', *stringify(tuple_arbitrary_len_bool),
213
- # '--tuple_arbitrary_len_int', *stringify(tuple_arbitrary_len_int),
214
- # '--tuple_arbitrary_len_str', *stringify(tuple_arbitrary_len_str),
211
+ '--tuple_pair' , * stringify (tuple_pair ),
212
+ '--tuple_arbitrary_len_bool' , * stringify (tuple_arbitrary_len_bool ),
213
+ '--tuple_arbitrary_len_int' , * stringify (tuple_arbitrary_len_int ),
214
+ '--tuple_arbitrary_len_str' , * stringify (tuple_arbitrary_len_str ),
215
215
])
216
216
217
217
self .assertEqual (args .list_bool , list_bool )
@@ -225,10 +225,10 @@ def test_nested_optional_types(self):
225
225
self .assertEqual (args .tuple_bool , tuple_bool )
226
226
self .assertEqual (args .tuple_int , tuple_int )
227
227
self .assertEqual (args .tuple_str , tuple_str )
228
- # self.assertEqual(args.tuple_pair, tuple_pair)
229
- # self.assertEqual(args.tuple_arbitrary_len_bool, tuple_arbitrary_len_bool)
230
- # self.assertEqual(args.tuple_arbitrary_len_int, tuple_arbitrary_len_int)
231
- # self.assertEqual(args.tuple_arbitrary_len_str, tuple_arbitrary_len_str)
228
+ self .assertEqual (args .tuple_pair , tuple_pair )
229
+ self .assertEqual (args .tuple_arbitrary_len_bool , tuple_arbitrary_len_bool )
230
+ self .assertEqual (args .tuple_arbitrary_len_int , tuple_arbitrary_len_int )
231
+ self .assertEqual (args .tuple_arbitrary_len_str , tuple_arbitrary_len_str )
232
232
233
233
234
234
class ComplexTypeTap (Tap ):
@@ -261,6 +261,7 @@ def test_complex_types(self):
261
261
self .assertEqual (args .set_path , set_path )
262
262
self .assertEqual (args .tuple_path , tuple_path )
263
263
264
+
264
265
class Person :
265
266
def __init__ (self , name : str ):
266
267
self .name = name
@@ -631,26 +632,32 @@ def configure(self) -> None:
631
632
def test_complex_type (self ) -> None :
632
633
class AddArgumentComplexTypeTap (IntegrationDefaultTap ):
633
634
arg_person : Person = Person ('tap' )
634
- # arg_person_required: Person # TODO
635
+ arg_person_required : Person
635
636
arg_person_untyped = Person ('tap untyped' )
636
637
637
- # TODO: assert a crash if any complex types are not explicitly added in add_argument
638
638
def configure (self ) -> None :
639
639
self .add_argument ('--arg_person' , type = Person )
640
- # self.add_argument('--arg_person_required', type=Person) # TODO
640
+ self .add_argument ('--arg_person_required' , type = Person )
641
641
self .add_argument ('--arg_person_untyped' , type = Person )
642
642
643
- args = AddArgumentComplexTypeTap ().parse_args ([])
643
+ arg_person_required = Person ("hello, it's me" )
644
+
645
+ args = AddArgumentComplexTypeTap ().parse_args ([
646
+ '--arg_person_required' , arg_person_required .name ,
647
+ ])
644
648
self .assertEqual (args .arg_person , Person ('tap' ))
649
+ self .assertEqual (args .arg_person_required , arg_person_required )
645
650
self .assertEqual (args .arg_person_untyped , Person ('tap untyped' ))
646
651
647
652
arg_person = Person ('hi there' )
648
653
arg_person_untyped = Person ('heyyyy' )
649
654
args = AddArgumentComplexTypeTap ().parse_args ([
650
655
'--arg_person' , arg_person .name ,
656
+ '--arg_person_required' , arg_person_required .name ,
651
657
'--arg_person_untyped' , arg_person_untyped .name
652
658
])
653
659
self .assertEqual (args .arg_person , arg_person )
660
+ self .assertEqual (args .arg_person_required , arg_person_required )
654
661
self .assertEqual (args .arg_person_untyped , arg_person_untyped )
655
662
656
663
def test_repeat_default (self ) -> None :
0 commit comments