1- from pytest import mark
2- from pymol import cmd
31import sys
2+ from pytest import mark
43from typing import List , Union , Any , Tuple
54from pathlib import Path
6-
5+ from pymol import cmd
76
87def test_docstring ():
98 @cmd .new_command
@@ -40,6 +39,7 @@ def func(
4039 out , err = capsys .readouterr ()
4140 assert out + err == ''
4241
42+
4343def test_path (capsys ):
4444 @cmd .new_command
4545 def func (dirname : Path = Path ('.' )):
@@ -50,7 +50,6 @@ def func(dirname: Path = Path('.')):
5050 assert out + err == ''
5151
5252
53-
5453@mark .skip ("This function does not works as expected" )
5554def test_any (capsys ):
5655 @cmd .new_command
@@ -61,29 +60,36 @@ def func(old_style: Any):
6160 out , err = capsys .readouterr ()
6261 assert 'AssertionError' not in out + err
6362
63+
6464def test_list (capsys ):
6565 @cmd .new_command
6666 def func (a : List ):
6767 assert a [1 ] == "2"
68-
6968 cmd .do ("func 1 2 3" )
7069 out , err = capsys .readouterr ()
7170 assert out + err == ''
7271
7372 @cmd .new_command
7473 def func (a : List [int ]):
7574 assert a [1 ] == 2
76-
7775 cmd .do ("func 1 2 3" )
7876 out , err = capsys .readouterr ()
7977 assert out + err == ''
8078
79+ @cmd .new_command
80+ def func (a : List [bool ]):
81+ assert a .pop (0 ) == False
82+ assert a .pop (0 ) == True
83+ cmd .do ("func 0 yes" )
84+ out , err = capsys .readouterr ()
85+ assert out + err == ''
86+
87+
8188def test_tuple (capsys ):
8289 @cmd .new_command
8390 def func (a : Tuple [str , int ]):
84- assert a == ("fooo" , 42 )
85-
86- cmd .do ("func fooo 42" )
91+ assert a == ("fooo a" , 42 )
92+ cmd .do ("func 'fooo a' 42" )
8793 out , err = capsys .readouterr ()
8894 assert out + err == ''
8995
@@ -97,6 +103,7 @@ def func(a: str="sele"):
97103 out , err = capsys .readouterr ()
98104 assert out + err == ''
99105
106+
100107@mark .skipif (
101108 sys .version_info < (3 , 11 ),
102109 reason = "Requires StrEnum of Python 3.11+"
@@ -113,6 +120,7 @@ def func(e: E):
113120 out , err = capsys .readouterr ()
114121 assert out + err == ''
115122
123+
116124def test_quiet (capsys ):
117125 @cmd .new_command
118126 def func (quiet : bool = True ):
0 commit comments