489 "Content check failed for %d" ); |
489 "Content check failed for %d" ); |
490 |
490 |
491 } |
491 } |
492 else |
492 else |
493 { |
493 { |
494 assert_failed = 1; |
494 |
495 ITK_MSG( testMgr, "Content asserting is unreliable for item not in index" ); |
495 ITK_MSG( testMgr, "Content asserting is unreliable for item not in index" ); |
496 } |
496 } |
497 cpix_Hits_destroy( hits ); |
497 cpix_Hits_destroy( hits ); |
498 } |
498 } |
499 cpix_Query_destroy( query ); |
499 cpix_Query_destroy( query ); |
500 } |
500 } |
501 else |
501 else |
502 { |
502 { |
503 assert_failed = 1; |
503 |
504 ITK_MSG( testMgr, "Creating query failed for %S", queryText.str().c_str() ); |
504 ITK_MSG( testMgr, "Creating query failed for %S", queryText.str().c_str() ); |
505 } |
505 } |
506 } |
506 } |
507 |
507 |
508 void RandomTest::assertAllItemsState(Itk::TestMgr* testMgr) |
508 void RandomTest::assertAllItemsState(Itk::TestMgr* testMgr) |
640 valid = valid && validState(testMgr, |
638 valid = valid && validState(testMgr, |
641 item); |
639 item); |
642 // OBS if ( !( valid &= validState( testMgr, item = indexRandom( testMgr ) ) ) ) |
640 // OBS if ( !( valid &= validState( testMgr, item = indexRandom( testMgr ) ) ) ) |
643 if (!valid) |
641 if (!valid) |
644 { |
642 { |
645 assert_failed = 1; |
643 |
646 ITK_MSG( testMgr, "Indexing item %d had failed", item ); |
644 ITK_MSG( testMgr, "Indexing item %d had failed", item ); |
647 goto mainloop_exit; |
645 goto mainloop_exit; |
648 // double break |
646 // double break |
649 } |
647 } |
650 } |
648 } |
657 valid = valid && validState(testMgr, |
655 valid = valid && validState(testMgr, |
658 item); |
656 item); |
659 // OBS if ( !( valid &= validState( testMgr, item = deleteRandom( testMgr ) ) ) ) |
657 // OBS if ( !( valid &= validState( testMgr, item = deleteRandom( testMgr ) ) ) ) |
660 if (!valid) |
658 if (!valid) |
661 { |
659 { |
662 assert_failed = 1; |
660 |
663 ITK_MSG( testMgr, "Deleting item %d had failed", item ); |
661 ITK_MSG( testMgr, "Deleting item %d had failed", item ); |
664 goto mainloop_exit; // double break |
662 goto mainloop_exit; // double break |
665 } |
663 } |
666 } |
664 } |
667 } |
665 } |
668 deleteRandoms(testMgr, 50); |
666 deleteRandoms(testMgr, 50); |
669 |
667 |
670 mainloop_exit: |
668 mainloop_exit: |
671 testResultXml(xml_file); |
669 |
672 ITK_ASSERT( testMgr, valid, "Operations were not succesful" ); |
670 ITK_ASSERT( testMgr, valid, "Operations were not succesful" ); |
673 } |
671 } |
674 |
672 |
675 void RandomTest::testDeleteAll(Itk::TestMgr* testMgr) |
673 void RandomTest::testDeleteAll(Itk::TestMgr* testMgr) |
676 { |
674 { |
677 indexRandoms(testMgr, 50); |
675 indexRandoms(testMgr, 50); |
678 assertIndexedState(testMgr); |
676 assertIndexedState(testMgr);; |
679 char *xml_file = (char*)__FUNCTION__; |
|
680 assert_failed = 0; |
|
681 vector<int> deleted; |
677 vector<int> deleted; |
682 for (int i = 0; i < 50; i++) |
678 for (int i = 0; i < 50; i++) |
683 { |
679 { |
684 deleted.push_back( deleteRandom(testMgr) ); |
680 deleted.push_back( deleteRandom(testMgr) ); |
685 } |
681 } |
689 { |
685 { |
690 // OBS if ( !( valid &= validState( testMgr, deleted[i] ) ) ) |
686 // OBS if ( !( valid &= validState( testMgr, deleted[i] ) ) ) |
691 valid = valid && validState( testMgr, deleted[i] ); |
687 valid = valid && validState( testMgr, deleted[i] ); |
692 if ( !( valid ) ) |
688 if ( !( valid ) ) |
693 { |
689 { |
694 assert_failed = 1; |
690 |
695 ITK_MSG( testMgr, "Deleting item %d had failed", deleted[i] ); |
691 ITK_MSG( testMgr, "Deleting item %d had failed", deleted[i] ); |
696 break; |
692 break; |
697 } |
693 } |
698 } |
694 } |
699 testResultXml(xml_file); |
695 |
700 ITK_ASSERT( testMgr, valid, "Deletes were not succesful" ); |
696 ITK_ASSERT( testMgr, valid, "Deletes were not succesful" ); |
701 } |
697 } |
702 |
698 |
703 void RandomTest::testContent(Itk::TestMgr* testMgr) |
699 void RandomTest::testContent(Itk::TestMgr* testMgr) |
704 { |
700 { |
705 char *xml_file = (char*)__FUNCTION__; |
|
706 assert_failed = 0; |
|
707 for (int i = 0; i < 10; i++) |
701 for (int i = 0; i < 10; i++) |
708 { |
702 { |
709 int item = indexRandom(testMgr); |
703 int item = indexRandom(testMgr); |
710 idxUtil_->flush(); |
704 idxUtil_->flush(); |
711 assertContent(testMgr, item); |
705 assertContent(testMgr, item); |
712 } |
706 } |
713 |
707 |
714 // clean up |
708 // clean up |
715 deleteRandoms( testMgr, 10 ); |
709 deleteRandoms( testMgr, 10 ); |
716 idxUtil_->flush(); |
710 idxUtil_->flush(); |
717 testResultXml(xml_file); |
711 |
718 } |
712 } |
719 |
713 |
720 void RandomTest::testPersistence(Itk::TestMgr* testMgr) |
714 void RandomTest::testPersistence(Itk::TestMgr* testMgr) |
721 { |
715 { |
722 indexRandoms(testMgr, 20); |
716 indexRandoms(testMgr, 20); |
723 assertIndexedState(testMgr); |
717 assertIndexedState(testMgr); |
724 char *xml_file = (char*)__FUNCTION__; |
|
725 assert_failed = 0; |
|
726 idxUtil_->reload(); |
718 idxUtil_->reload(); |
727 |
719 |
728 assertIndexedState(testMgr); |
720 assertIndexedState(testMgr); |
729 vector<int> deleted; |
721 vector<int> deleted; |
730 for (int i = 0; i < 20; i++) |
722 for (int i = 0; i < 20; i++) |
739 { |
731 { |
740 // OBS if ( !( valid &= validState( testMgr, deleted[i] ) ) ) |
732 // OBS if ( !( valid &= validState( testMgr, deleted[i] ) ) ) |
741 valid = valid && validState( testMgr, deleted[i] ); |
733 valid = valid && validState( testMgr, deleted[i] ); |
742 if ( !( valid ) ) |
734 if ( !( valid ) ) |
743 { |
735 { |
744 assert_failed = 1; |
736 |
745 ITK_MSG( testMgr, "Deleting item %d had failed", deleted[i] ); |
737 ITK_MSG( testMgr, "Deleting item %d had failed", deleted[i] ); |
746 break; |
738 break; |
747 } |
739 } |
748 } |
740 } |
749 ITK_ASSERT( testMgr, valid, "Deletes were not succesful" ); |
741 ITK_ASSERT( testMgr, valid, "Deletes were not succesful" ); |
750 testResultXml(xml_file); |
742 |
751 } |
743 } |
752 |
744 |
753 void RandomTest::testSearches(Itk::TestMgr* testMgr) |
745 void RandomTest::testSearches(Itk::TestMgr* testMgr) |
754 { |
746 { |
755 char *xml_file = (char*)__FUNCTION__; |
|
756 assert_failed = 0; |
|
757 traceTerm(testMgr, L"happy"); |
747 traceTerm(testMgr, L"happy"); |
758 traceTerm(testMgr, L"people"); |
748 traceTerm(testMgr, L"people"); |
759 traceTerm(testMgr, L"come"); |
749 traceTerm(testMgr, L"come"); |
760 traceTerm(testMgr, L"guy"); |
750 traceTerm(testMgr, L"guy"); |
761 traceTerm(testMgr, L"done"); |
751 traceTerm(testMgr, L"done"); |
777 assertTracedTerms( testMgr ); |
767 assertTracedTerms( testMgr ); |
778 deleteRandoms( testMgr, 20 ); |
768 deleteRandoms( testMgr, 20 ); |
779 assertTracedTerms( testMgr ); |
769 assertTracedTerms( testMgr ); |
780 |
770 |
781 untraceTerms(testMgr); |
771 untraceTerms(testMgr); |
782 testResultXml(xml_file); |
772 |
783 } |
773 } |
784 |
774 |
785 void RandomTest::testCreatedIndex(Itk::TestMgr* testMgr) { |
775 void RandomTest::testCreatedIndex(Itk::TestMgr* testMgr) { |
786 char *xml_file = (char*)__FUNCTION__; |
|
787 assert_failed = 0; |
|
788 int item = indexRandom( testMgr ); |
776 int item = indexRandom( testMgr ); |
789 idxUtil_->flush(); |
777 idxUtil_->flush(); |
790 assertState( testMgr, item ); |
778 assertState( testMgr, item ); |
791 |
779 |
792 assertContent( testMgr, item ); |
780 assertContent( testMgr, item ); |