@@ -159,6 +159,7 @@ public void DeleteGroupTests(bool permanent)
159159 [ InlineData ( "General/G1/G21/G21E1" ) ]
160160 [ InlineData ( "General/G1/G21/" ) ]
161161 [ InlineData ( "General/G1/G21" ) ]
162+ [ InlineData ( "/G1/G21" ) ]
162163 /// <summary>
163164 /// Find group or entry test.
164165 /// </summary>
@@ -171,7 +172,8 @@ public void FindByPathTests(string path)
171172 }
172173 else
173174 {
174- Debug . WriteLine ( $ "{ passxyz . PxDb . FindByPath < PwEntry > ( path ) } ") ;
175+ if ( path . StartsWith ( "/" ) ) { Assert . Null ( passxyz . PxDb . FindByPath < PwGroup > ( path ) ) ; }
176+ else Debug . WriteLine ( $ "{ passxyz . PxDb . FindByPath < PwEntry > ( path ) } ") ;
175177 }
176178 }
177179
@@ -189,21 +191,40 @@ public void FindEntryByPathTests(string path)
189191
190192 [ Theory ]
191193 [ InlineData ( "General/G1/G21/G21E1" ) ]
194+ [ InlineData ( "/utdb/General/G1/G21" ) ]
195+ [ InlineData ( "../.." ) ]
196+ [ InlineData ( ".." ) ]
192197 /// <summary>
193198 /// Find group using an entry pass.
194199 /// </summary>
195200 public void FindGroupByPathTests ( string path )
196201 {
197- passxyz . PxDb . CurrentGroup = passxyz . PxDb . RootGroup ;
198- Debug . WriteLine ( $ "{ passxyz . PxDb . FindByPath < PwGroup > ( path ) } ") ;
199- Assert . Null ( passxyz . PxDb . FindByPath < PwGroup > ( path ) ) ;
202+ PwGroup group ;
203+
204+ if ( path . StartsWith ( "/" ) ) {
205+ group = passxyz . PxDb . FindByPath < PwGroup > ( path ) ;
206+ Assert . NotNull ( group ) ;
207+ }
208+ else if ( path . StartsWith ( ".." ) )
209+ {
210+ passxyz . PxDb . CurrentGroup = passxyz . PxDb . FindByPath < PwGroup > ( "/utdb/General/G1/G21" ) ;
211+ Debug . WriteLine ( $ "Current group is: { passxyz . PxDb . CurrentGroup } ") ;
212+ group = passxyz . PxDb . FindByPath < PwGroup > ( path ) ;
213+ }
214+ else
215+ {
216+ passxyz . PxDb . CurrentGroup = passxyz . PxDb . RootGroup ;
217+ group = passxyz . PxDb . FindByPath < PwGroup > ( path ) ;
218+ Debug . WriteLine ( $ "Cannot find group { path } ") ;
219+ Assert . Null ( group ) ;
220+ }
200221 }
201222
202223 [ Fact ]
203224 public void FindByPathDefaultTests ( )
204225 {
205226 Assert . Null ( passxyz . PxDb . FindByPath < PwEntry > ( ) ) ;
206- Assert . Equal ( passxyz . PxDb . FindByPath < PwGroup > ( ) . ToString ( ) , passxyz . PxDb . CurrentGroup . ToString ( ) ) ;
227+ Assert . Equal ( passxyz . PxDb . FindByPath < PwGroup > ( ) . ToString ( ) , passxyz . PxDb . RootGroup . ToString ( ) ) ;
207228 }
208229
209230 [ Fact ]
@@ -212,6 +233,13 @@ public void CurrentGroupTests()
212233 Debug . WriteLine ( $ "{ passxyz . PxDb . CurrentGroup } ") ;
213234 Assert . NotNull ( passxyz . PxDb . CurrentGroup ) ;
214235 }
236+
237+ [ Fact ]
238+ public void CurrentPathTests ( )
239+ {
240+ Debug . WriteLine ( $ "Current path is { passxyz . PxDb . CurrentPath } .") ;
241+ Assert . NotNull ( passxyz . PxDb . CurrentPath ) ;
242+ }
215243 }
216244
217245 public class PxLibInfoTests
0 commit comments