コード例 #1
0
 def testCompareDifferentLimitPerLandmark(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different limit per landmark.
     """
     dbParams1 = DatabaseParameters(limitPerLandmark=10)
     dbParams2 = DatabaseParameters(limitPerLandmark=20)
     expected = ("Summary of differences:\n"
                 "  Param 'limitPerLandmark' values 10 and 20 differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #2
0
 def testCompareDifferentMinDistance(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different min distances.
     """
     dbParams1 = DatabaseParameters(minDistance=10)
     dbParams2 = DatabaseParameters(minDistance=20)
     expected = ("Summary of differences:\n"
                 "  Param 'minDistance' values 10 and 20 differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #3
0
 def testCompareDifferentFeatureLengthBase(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different featureLength bases.
     """
     dbParams1 = DatabaseParameters(featureLengthBase=1.0)
     dbParams2 = DatabaseParameters(featureLengthBase=2.0)
     expected = ("Summary of differences:\n"
                 "  Param 'featureLengthBase' values 1.0 and 2.0 differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #4
0
 def testCompareDifferentMaxDistanceAndMinDistance(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have multiple different attributes.
     """
     dbParams1 = DatabaseParameters(maxDistance=10, minDistance=30)
     dbParams2 = DatabaseParameters(maxDistance=20, minDistance=40)
     expected = ("Summary of differences:\n"
                 "  Param 'maxDistance' values 10 and 20 differ.\n"
                 "  Param 'minDistance' values 30 and 40 differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #5
0
 def testCompareDifferentTrigPointFinders(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different trig point finders.
     """
     dbParams1 = DatabaseParameters(trigPoints=[Peaks, Troughs])
     dbParams2 = DatabaseParameters(trigPoints=[Peaks])
     expected = ("Summary of differences:\n"
                 "  Param 'trigPoints' values "
                 "['Peaks', 'Troughs'] and ['Peaks'] differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #6
0
 def testCompareDifferentLandmarkFinders(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different landmark finders.
     """
     dbParams1 = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand])
     dbParams2 = DatabaseParameters(landmarks=[AlphaHelix])
     expected = ("Summary of differences:\n"
                 "  Param 'landmarks' values "
                 "['AlphaHelix', 'BetaStrand'] and ['AlphaHelix'] differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #7
0
 def testCompareDifferentRandomTrigPointDensity(self):
     """
     The compare method must return a description of parameter differences
     when two parameter instances have different randomTrigPointDensity
     values.
     """
     dbParams1 = DatabaseParameters(randomTrigPointDensity=0.2)
     dbParams2 = DatabaseParameters(randomTrigPointDensity=0.4)
     expected = (
         "Summary of differences:\n"
         "  Param 'randomTrigPointDensity' values 0.2 and 0.4 differ.")
     self.assertEqual(expected, dbParams1.compare(dbParams2))
コード例 #8
0
ファイル: test_backend.py プロジェクト: acorg/light-matter
 def testSaveRestoreWithNonDefaultParameters(self):
     """
     When asked to save and then restore a backend with non-default
     parameters, a backend with the correct parameters must result.
     """
     dbParams = DatabaseParameters(landmarks=[], trigPoints=[],
                                   limitPerLandmark=16, maxDistance=17,
                                   minDistance=18, distanceBase=19.0)
     be = Backend()
     be.configure(dbParams)
     fp = StringIO()
     be.save(fp)
     fp.seek(0)
     result = be.restore(fp)
     self.assertIs(None, dbParams.compare(result.dbParams))
コード例 #9
0
ファイル: test_database.py プロジェクト: acorg/light-matter
 def testSaveRestoreEmpty(self):
     """
     When asked to save and then restore an empty database, the correct
     database must result.
     """
     dbParams = DatabaseParameters(landmarks=[AlphaHelix],
                                   trigPoints=[Peaks])
     db = Database(dbParams)
     fp = StringIO()
     db.save(fp)
     fp.seek(0)
     result = db.restore(fp)
     self.assertEqual(0, result.subjectCount())
     self.assertEqual(0, result.totalCoveredResidues())
     self.assertEqual(0, result.totalResidues())
     self.assertIs(None, dbParams.compare(result.dbParams))
コード例 #10
0
ファイル: test_database.py プロジェクト: acorg/light-matter
 def testSaveContentHasFourParts(self):
     """
     When a simple database saves, its content must include parts for the
     database parameters, the database state, the backend parameters and
     the backend state.
     """
     dbParams = DatabaseParameters(landmarks=[AlphaHelix],
                                   trigPoints=[Peaks])
     db = Database(dbParams)
     fp = StringIO()
     db.save(fp)
     fp.seek(0)
     dbParams = DatabaseParameters.restore(fp)
     loads(fp.readline()[:-1])
     backendParams = DatabaseParameters.restore(fp)
     loads(fp.readline()[:-1])
     self.assertIs(None, dbParams.compare(backendParams))
コード例 #11
0
ファイル: test_database.py プロジェクト: acorg/light-matter
 def testSaveRestoreNonEmpty(self):
     """
     When asked to save and then restore a non-empty database, the correct
     database must result.
     """
     dbParams = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand],
                                   trigPoints=[Peaks, Troughs])
     db = Database(dbParams)
     db.addSubject(AARead('id', 'FRRRFRRRFASAASA'))
     fp = StringIO()
     db.save(fp)
     fp.seek(0)
     result = db.restore(fp)
     self.assertIs(None, dbParams.compare(result.dbParams))
     self.assertEqual(db.subjectCount(), result.subjectCount())
     self.assertEqual(db.totalCoveredResidues(),
                      result.totalCoveredResidues())
     self.assertEqual(db.totalResidues(), result.totalResidues())
     self.assertEqual(db.checksum(), result.checksum())
コード例 #12
0
 def testCompareIdentical(self):
     """
     The compare method must return None when two parameter instances
     have the same values.
     """
     dbParams1 = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand],
                                    trigPoints=[Peaks, Troughs],
                                    distanceBase=3.0,
                                    featureLengthBase=3.9,
                                    limitPerLandmark=10,
                                    maxDistance=77,
                                    minDistance=66,
                                    randomLandmarkDensity=0.1,
                                    randomTrigPointDensity=0.2)
     dbParams2 = DatabaseParameters(landmarks=[AlphaHelix, BetaStrand],
                                    trigPoints=[Peaks, Troughs],
                                    distanceBase=3.0,
                                    featureLengthBase=3.9,
                                    limitPerLandmark=10,
                                    maxDistance=77,
                                    minDistance=66,
                                    randomLandmarkDensity=0.1,
                                    randomTrigPointDensity=0.2)
     self.assertIs(None, dbParams1.compare(dbParams2))