File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -79,6 +79,32 @@ def __next__(self):
7979 self ._data_ind += 1
8080 return rval
8181
82+ def get_one (self ):
83+ """Iterates over self and returns first value
84+ This method is idempotent
85+ """
86+ for value in self :
87+ return value
88+
89+ def get_many (self , n : int ):
90+ """Iterates over self and returns first n results
91+ This method is idempotent
92+
93+ Args:
94+ n (int): Number of elements to retrieve
95+ """
96+ results = []
97+ i = 0
98+
99+ for value in self :
100+ if i >= n :
101+ break
102+
103+ results .append (value )
104+ i += 1
105+
106+ return results
107+
82108
83109class _Pagination (ABC ):
84110
Original file line number Diff line number Diff line change @@ -21,6 +21,14 @@ def test_dataset(client, rand_gen):
2121 assert len (after ) == len (before ) + 1
2222 assert dataset in after
2323
24+ # confirm get_one returns first dataset
25+ get_one_dataset = client .get_datasets ().get_one ()
26+ assert get_one_dataset .uid == after [0 ].uid
27+
28+ # confirm get_many(1) returns first dataset
29+ get_many_datasets = client .get_datasets ().get_many (1 )
30+ assert get_many_datasets [0 ].uid == after [0 ].uid
31+
2432 dataset = client .get_dataset (dataset .uid )
2533 assert dataset .name == name
2634
You can’t perform that action at this time.
0 commit comments