MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TestRandomAccess

Method TestRandomAccess

tensorflow/core/lib/io/table_test.cc:326–370  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324 }
325
326 void TestRandomAccess(random::SimplePhilox* rnd,
327 const std::vector<string>& keys, const KVMap& data,
328 int num_random_access_iters) {
329 static const bool kVerbose = false;
330 Iterator* iter = constructor_->NewIterator();
331 ASSERT_TRUE(!iter->Valid());
332 KVMap::const_iterator model_iter = data.begin();
333 if (kVerbose) fprintf(stderr, "---\n");
334 for (int i = 0; i < num_random_access_iters; i++) {
335 const int toss = rnd->Uniform(3);
336 switch (toss) {
337 case 0: {
338 if (iter->Valid()) {
339 if (kVerbose) fprintf(stderr, "Next\n");
340 iter->Next();
341 ++model_iter;
342 ASSERT_EQ(ToStringPiecePair(data, model_iter),
343 ToStringPiecePair(iter));
344 }
345 break;
346 }
347
348 case 1: {
349 if (kVerbose) fprintf(stderr, "SeekToFirst\n");
350 iter->SeekToFirst();
351 model_iter = data.begin();
352 ASSERT_EQ(ToStringPiecePair(data, model_iter),
353 ToStringPiecePair(iter));
354 break;
355 }
356
357 case 2: {
358 string key = PickRandomKey(rnd, keys);
359 model_iter = data.lower_bound(key);
360 if (kVerbose)
361 fprintf(stderr, "Seek '%s'\n", absl::CEscape(key).c_str());
362 iter->Seek(StringPiece(key));
363 ASSERT_EQ(ToStringPiecePair(data, model_iter),
364 ToStringPiecePair(iter));
365 break;
366 }
367 }
368 }
369 delete iter;
370 }
371
372 StringPiecePair ToStringPiecePair(const KVMap& data,
373 const KVMap::const_iterator& it) {

Callers

nothing calls this directly

Calls 9

CEscapeFunction · 0.85
UniformMethod · 0.80
c_strMethod · 0.80
NewIteratorMethod · 0.45
ValidMethod · 0.45
beginMethod · 0.45
NextMethod · 0.45
SeekToFirstMethod · 0.45
SeekMethod · 0.45

Tested by

no test coverage detected