@@ -440,134 +440,6 @@ namespace document_stream_tests {
440
440
return true ;
441
441
}
442
442
443
- // returns true if successful
444
- bool JsonStream_utf8_test () {
445
- std::cout << " Running " << __func__ << std::endl;
446
- fflush (NULL );
447
- const size_t n_records = 10000 ;
448
- std::string data;
449
- char buf[1024 ];
450
- for (size_t i = 0 ; i < n_records; ++i) {
451
- auto n = sprintf (buf,
452
- " {\" id\" : %zu, \" name\" : \" name%zu\" , \" gender\" : \" %s\" , "
453
- " \" été\" : {\" id\" : %zu, \" name\" : \" éventail%zu\" }}" ,
454
- i, i, (i % 2 ) ? " ⺃" : " ⺕" , i % 10 , i % 10 );
455
- data += std::string (buf, n);
456
- }
457
- const size_t batch_size = 1000 ;
458
- printf (" ." );
459
- fflush (NULL );
460
- simdjson::padded_string str (data);
461
- simdjson::JsonStream<simdjson::padded_string> js{str, batch_size};
462
- int parse_res = simdjson::SUCCESS_AND_HAS_MORE;
463
- size_t count = 0 ;
464
- simdjson::ParsedJson pj;
465
- while (parse_res == simdjson::SUCCESS_AND_HAS_MORE) {
466
- parse_res = js.json_parse (pj);
467
- if (parse_res != simdjson::SUCCESS && parse_res != simdjson::SUCCESS_AND_HAS_MORE) {
468
- break ;
469
- }
470
- simdjson::ParsedJson::Iterator iter (pj);
471
- if (!iter.is_object ()) {
472
- printf (" Root should be object\n " );
473
- return false ;
474
- }
475
- if (!iter.down ()) {
476
- printf (" Root should not be emtpy\n " );
477
- return false ;
478
- }
479
- if (!iter.is_string ()) {
480
- printf (" Object should start with string key\n " );
481
- return false ;
482
- }
483
- if (strcmp (iter.get_string ()," id" )!=0 ) {
484
- printf (" There should a single key, id.\n " );
485
- return false ;
486
- }
487
- iter.move_to_value ();
488
- if (!iter.is_integer ()) {
489
- printf (" Value of image should be integer\n " );
490
- return false ;
491
- }
492
- int64_t keyid = iter.get_integer ();
493
- if (keyid != (int64_t )count) {
494
- printf (" key does not match %d, expected %d\n " ,(int ) keyid, (int ) count);
495
- return false ;
496
- }
497
- count++;
498
- }
499
- if (count != n_records) {
500
- printf (" Something is wrong in JsonStream_utf8_test at window size = %zu.\n " , batch_size);
501
- return false ;
502
- }
503
- printf (" ok\n " );
504
- return true ;
505
- }
506
-
507
- // returns true if successful
508
- bool JsonStream_test () {
509
- std::cout << " Running " << __func__ << std::endl;
510
- fflush (NULL );
511
- const size_t n_records = 10000 ;
512
- std::string data;
513
- char buf[1024 ];
514
- for (size_t i = 0 ; i < n_records; ++i) {
515
- auto n = sprintf (buf,
516
- " {\" id\" : %zu, \" name\" : \" name%zu\" , \" gender\" : \" %s\" , "
517
- " \" ete\" : {\" id\" : %zu, \" name\" : \" eventail%zu\" }}" ,
518
- i, i, (i % 2 ) ? " homme" : " femme" , i % 10 , i % 10 );
519
- data += std::string (buf, n);
520
- }
521
- const size_t batch_size = 1000 ;
522
- printf (" ." );
523
- fflush (NULL );
524
- simdjson::padded_string str (data);
525
- simdjson::JsonStream<simdjson::padded_string> js{str, batch_size};
526
- int parse_res = simdjson::SUCCESS_AND_HAS_MORE;
527
- size_t count = 0 ;
528
- simdjson::ParsedJson pj;
529
- while (parse_res == simdjson::SUCCESS_AND_HAS_MORE) {
530
- parse_res = js.json_parse (pj);
531
- if (parse_res != simdjson::SUCCESS && parse_res != simdjson::SUCCESS_AND_HAS_MORE) {
532
- break ;
533
- }
534
- simdjson::ParsedJson::Iterator iter (pj);
535
- if (!iter.is_object ()) {
536
- printf (" Root should be object\n " );
537
- return false ;
538
- }
539
- if (!iter.down ()) {
540
- printf (" Root should not be emtpy\n " );
541
- return false ;
542
- }
543
- if (!iter.is_string ()) {
544
- printf (" Object should start with string key\n " );
545
- return false ;
546
- }
547
- if (strcmp (iter.get_string ()," id" )!=0 ) {
548
- printf (" There should a single key, id.\n " );
549
- return false ;
550
- }
551
- iter.move_to_value ();
552
- if (!iter.is_integer ()) {
553
- printf (" Value of image should be integer\n " );
554
- return false ;
555
- }
556
- int64_t keyid = iter.get_integer ();
557
- if (keyid != (int64_t )count) {
558
- printf (" key does not match %d, expected %d\n " ,(int ) keyid, (int ) count);
559
- return false ;
560
- }
561
- count++;
562
- }
563
- if (count != n_records) {
564
- printf (" Something is wrong in JsonStream_test at window size = %zu.\n " , batch_size);
565
- return false ;
566
- }
567
- printf (" ok\n " );
568
- return true ;
569
- }
570
-
571
443
// returns true if successful
572
444
bool document_stream_test () {
573
445
std::cout << " Running " << __func__ << std::endl;
@@ -666,9 +538,7 @@ namespace document_stream_tests {
666
538
667
539
bool run () {
668
540
return document_stream_test () &&
669
- document_stream_utf8_test () &&
670
- JsonStream_test () &&
671
- JsonStream_utf8_test ();
541
+ document_stream_utf8_test ();
672
542
}
673
543
}
674
544
0 commit comments