test_helper.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:5k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: test_helper.hpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/04/12 17:31:41  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.11
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: test_helper.hpp,v 1000.1 2004/04/12 17:31:41 gouriano Exp $
  10. * ===========================================================================
  11. *
  12. *                            PUBLIC DOMAIN NOTICE
  13. *               National Center for Biotechnology Information
  14. *
  15. *  This software/database is a "United States Government Work" under the
  16. *  terms of the United States Copyright Act.  It was written as part of
  17. *  the author's official duties as a United States Government employee and
  18. *  thus cannot be copyrighted.  This software/database is freely available
  19. *  to the public for use. The National Library of Medicine and the U.S.
  20. *  Government have not placed any restriction on its use or reproduction.
  21. *
  22. *  Although all reasonable efforts have been taken to ensure the accuracy
  23. *  and reliability of the software and data, the NLM and the U.S.
  24. *  Government do not and cannot warrant the performance or results that
  25. *  may be obtained by using this software or data. The NLM and the U.S.
  26. *  Government disclaim all warranties, express or implied, including
  27. *  warranties of performance, merchantability or fitness for any particular
  28. *  purpose.
  29. *
  30. *  Please cite the author in any work or product based on this material.
  31. *
  32. * ===========================================================================
  33. *
  34. * Authors:  Eugene Vasilchenko, Aleksey Grichenko, Denis Vakatov
  35. *
  36. * File Description:
  37. *   Bio sequence data generator to test Object Manager
  38. *
  39. * ---------------------------------------------------------------------------
  40. * $Log: test_helper.hpp,v $
  41. * Revision 1000.1  2004/04/12 17:31:41  gouriano
  42. * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.11
  43. *
  44. * Revision 1.11  2004/02/03 17:58:50  vasilche
  45. * Always test CScope::RemoveEntry() in single thread.
  46. *
  47. * Revision 1.10  2003/06/02 16:06:39  dicuccio
  48. * Rearranged src/objects/ subtree.  This includes the following shifts:
  49. *     - src/objects/asn2asn --> arc/app/asn2asn
  50. *     - src/objects/testmedline --> src/objects/ncbimime/test
  51. *     - src/objects/objmgr --> src/objmgr
  52. *     - src/objects/util --> src/objmgr/util
  53. *     - src/objects/alnmgr --> src/objtools/alnmgr
  54. *     - src/objects/flat --> src/objtools/flat
  55. *     - src/objects/validator --> src/objtools/validator
  56. *     - src/objects/cddalignview --> src/objtools/cddalignview
  57. * In addition, libseq now includes six of the objects/seq... libs, and libmmdb
  58. * replaces the three libmmdb? libs.
  59. *
  60. * Revision 1.9  2003/03/04 16:43:53  grichenk
  61. * +Test CFeat_CI with eResolve_All flag
  62. *
  63. * Revision 1.8  2003/02/28 16:37:47  vasilche
  64. * Fixed expected feature count.
  65. * Added optional flags to testobjmgr to dump generated data and found features.
  66. *
  67. * Revision 1.7  2002/12/26 16:39:24  vasilche
  68. * Object manager class CSeqMap rewritten.
  69. *
  70. * Revision 1.6  2002/05/09 14:21:50  grichenk
  71. * Turned GetTitle() test on, removed unresolved seq-map test
  72. *
  73. * Revision 1.5  2002/05/06 03:28:53  vakatov
  74. * OM/OM1 renaming
  75. *
  76. * Revision 1.4  2002/05/03 21:28:12  ucko
  77. * Introduce T(Signed)SeqPos.
  78. *
  79. * Revision 1.3  2002/04/22 20:07:45  grichenk
  80. * Commented calls to CBioseq::ConstructExcludedSequence()
  81. *
  82. * Revision 1.2  2002/03/18 21:47:15  grichenk
  83. * Moved most includes to test_helper.cpp
  84. * Added test for CBioseq::ConstructExcludedSequence()
  85. *
  86. * Revision 1.1  2002/03/13 18:06:31  gouriano
  87. * restructured MT test. Put common functions into a separate file
  88. *
  89. *
  90. * ===========================================================================
  91. */
  92. #include <objmgr/object_manager.hpp>
  93. #include <objmgr/scope.hpp>
  94. #include <objects/seqloc/Seq_id.hpp>
  95. #include <objects/general/Object_id.hpp>
  96. #include <objects/seqset/Seq_entry.hpp>
  97. #include <corelib/ncbistd.hpp>
  98. #include <corelib/ncbiobj.hpp>
  99. BEGIN_NCBI_SCOPE
  100. BEGIN_SCOPE(objects)
  101. class CSeq_entry;
  102. class CSeq_annot;
  103. class CScope;
  104. class CSeq_id;
  105. class CDataGenerator
  106. {
  107. public:
  108.     static CSeq_entry& CreateTestEntry1(int index);
  109.     static CSeq_entry& CreateTestEntry2(int index);
  110.     static CSeq_entry& CreateTestEntry1a(int index);
  111.     static CSeq_entry& CreateConstructedEntry(int idx, int index);
  112.     // static CSeq_entry& CreateConstructedExclusionEntry(int idx, int index);
  113.     static CSeq_annot& CreateAnnotation1(int index);
  114.     static bool sm_DumpEntries;
  115. };
  116. class CTestHelper
  117. {
  118. public:
  119.     static void ProcessBioseq(CScope& scope, CSeq_id& id,
  120.                               TSeqPos seq_len,
  121.                               string seq_str, string seq_str_compl,
  122.                               int seq_desc_cnt,
  123.                               int seq_feat_ra_cnt,
  124.                               int seq_feat_cnt, int seq_featrg_cnt,
  125.                               int seq_align_cnt, int seq_alignrg_cnt,
  126.                               size_t feat_annots_cnt, size_t featrg_annots_cnt,
  127.                               size_t align_annots_cnt, size_t alignrg_annots_cnt,
  128.                               bool tse_feat_test = false,
  129.                               bool have_errors = false);
  130.     static void TestDataRetrieval( CScope& scope, int idx, int delta);
  131.     static bool sm_DumpFeatures;
  132.     static bool sm_TestRemoveEntry;
  133. };
  134. END_SCOPE(objects)
  135. END_NCBI_SCOPE