@@ -233,7 +233,43 @@ public async Task GetIdsFromIndexWhenReadDataFromStreamReturnsAnIndexWithTheKeyA
233233 Assert . AreEqual ( ExpectedIds . Count ( ) , result . Count ( ) ) ;
234234 for ( var i = 0 ; i < ExpectedIds . Count ( ) ; i ++ ) Assert . IsTrue ( result . Contains ( ExpectedIds [ i ] ) ) ;
235235 }
236+
237+ [ Test ( Author = "PackDB Creator" ) ]
238+ public async Task GetKeysFromIndexWhenReadDataFromStreamReturnsAnEmptyIndex ( )
239+ {
240+ MockFileStreamer
241+ . Setup ( x => x . ReadDataFromStream < Index < string > > ( "Data\\ IndexableData\\ IndexValue1.index" ) )
242+ . ReturnsAsync ( new Index < string > ( ) ) ;
243+ var data = FileIndexWorker . GetKeysFromIndex < IndexableData , string > ( "IndexValue1" ) ;
244+ var result = new List < IndexKey < string > > ( ) ;
245+ await foreach ( var d in data ) result . Add ( d ) ;
246+ Assert . IsEmpty ( result ) ;
247+ }
248+
249+ [ Test ( Author = "PackDB Creator" ) ]
250+ public async Task GetKeysFromIndexWhenReadDataFromStreamReturnsAnIndexWithNoKeys ( )
251+ {
252+ MockFileStreamer
253+ . Setup ( x => x . ReadDataFromStream < Index < string > > ( "Data\\ IndexableData\\ IndexValue1.index" ) )
254+ . ReturnsAsync ( new Index < string >
255+ {
256+ Keys = new List < IndexKey < string > > ( )
257+ } ) ;
258+ var data = FileIndexWorker . GetKeysFromIndex < IndexableData , string > ( "IndexValue1" ) ;
259+ var result = new List < IndexKey < string > > ( ) ;
260+ await foreach ( var d in data ) result . Add ( d ) ;
261+ Assert . IsEmpty ( result ) ;
262+ }
236263
264+ [ Test ( Author = "PackDB Creator" ) ]
265+ public async Task GetKeysFromIndexWhenReadDataFromStreamReturnsAnIndexWithTheKeyAndIds ( )
266+ {
267+ var data = FileIndexWorker . GetKeysFromIndex < IndexableData , string > ( "IndexValue1" ) ;
268+ var result = new List < IndexKey < string > > ( ) ;
269+ await foreach ( var d in data ) result . Add ( d ) ;
270+ Assert . AreEqual ( 1 , result . Count ( x => x . Value == IndexKey ) ) ;
271+ }
272+
237273 [ Test ( Author = "PackDB Creator" , ExpectedResult = true ) ]
238274 public async Task < bool > IndexDataTypeWithNoIndexedProperties ( )
239275 {
0 commit comments