@@ -52,3 +52,34 @@ def test_multiple_backend_paths(local_testdir, s3, hdfs):
5252 path = f"hdfs:{ local_testdir } "
5353 UPath (path , host = host , user = user , port = port )
5454 assert s3_path .joinpath ("text1.txt" )._url .scheme == "s3"
55+
56+
57+ def test_constructor_accept_path (local_testdir ):
58+ path = UPath (pathlib .Path (local_testdir ))
59+ assert str (path ) == local_testdir
60+
61+
62+ def test_constructor_accept_upath (local_testdir ):
63+ path = UPath (UPath (local_testdir ))
64+ assert str (path ) == local_testdir
65+
66+
67+ def test_subclass (local_testdir ):
68+ class MyPath (UPath ):
69+ pass
70+
71+ path = MyPath (local_testdir )
72+ assert str (path ) == local_testdir
73+ assert issubclass (MyPath , UPath )
74+ assert isinstance (path , pathlib .Path )
75+
76+
77+ def test_instance_check (local_testdir ):
78+ path = UPath (local_testdir )
79+ assert isinstance (path , UPath )
80+
81+
82+ def test_new_method (local_testdir ):
83+ path = UPath .__new__ (pathlib .Path , local_testdir )
84+ assert str (path ) == local_testdir
85+ assert isinstance (path , pathlib .Path )
0 commit comments